Gomory’s cutting plane algorithm for integer programming
description
Transcript of Gomory’s cutting plane algorithm for integer programming
![Page 1: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/1.jpg)
Gomory’s cutting plane algorithm for integer
programming
Prepared by Shin-ichi Tanigawa
![Page 2: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/2.jpg)
Rounding does not give any useful result
![Page 3: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/3.jpg)
2
214
213
230236
xzxxxxxx
We first solve the LP-relaxation
![Page 4: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/4.jpg)
2
214
213
230236
xzxxxxxx
Optimize using primal simplex method
![Page 5: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/5.jpg)
2
214
213
230236
xzxxxxxx
41
412
413
21
23
21
230
66
xxz
xxx
xxx
Optimize using primal simplex method
![Page 6: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/6.jpg)
2
214
213
230236
xzxxxxxx
41
412
413
21
23
21
230
66
xxz
xxx
xxx
43
432
431
41
41
23
41
41
23
61
611
xxz
xxx
xxx
Optimize using primal simplex method
![Page 7: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/7.jpg)
43
432
431
41
41
23
41
41
23
61
611
xxz
xxx
xxx
The optimal solution is fractional
![Page 8: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/8.jpg)
43
432
431
41
41
23
41
41
23
61
611
xxz
xxx
xxx
23
41
41 43 xxz (1)
Generating an objective row cut
![Page 9: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/9.jpg)
43
432
431
41
41
23
41
41
23
61
611
xxz
xxx
xxx
23
41
41 43 xxz
23
41
41 43
xxz (weakening)
(1)
Generating an objective row cut
![Page 10: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/10.jpg)
43
432
431
41
41
23
41
41
23
61
611
xxz
xxx
xxx
23
41
41 43 xxz
23
41
41 43 xxz
23
41
41 43
xxz (weakening)
(1)
(2)(for integers)
Generating an objective row cut
![Page 11: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/11.jpg)
43
432
431
41
41
23
41
41
23
61
611
xxz
xxx
xxx
23
41
41 43 xxz
21
41
41
43 xx
23
41
41 43 xxz
23
41
41 43
xxz (weakening)
(1)
(2)(for integers)
(2) - (1)
Generating an objective row cut
Cutting plane is violated by current optimum solution
![Page 12: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/12.jpg)
43
432
431
41
41
23
41
41
23
61
611
xxz
xxx
xxx
23
41
41 43 xxz
21
41
41
43 xx
12 x
23
41
41 43 xxz
23
41
41 43
xxz (weakening)
(1)
(2)(for integers)
(2) - (1)
(substitute for slacks)
Generating an objective row cut
214
213
230236xxxxxx
![Page 13: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/13.jpg)
The first cutting plane: 12 x21
41
41
43 xx
![Page 14: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/14.jpg)
435 41
41
21 xxx
A new slack variable is added:
21
41
41
43 xx
![Page 15: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/15.jpg)
43
435
432
431
41
41
23
41
41
21
41
41
23
61
611
xxz
xxx
xxx
xxx
The new cut is added to the dictionary
21
41
41
43 xx
![Page 16: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/16.jpg)
43
435
432
431
41
41
23
41
41
21
41
41
23
61
611
xxz
xxx
xxx
xxx
Re-optimize using dual simplex method
![Page 17: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/17.jpg)
43
435
432
431
41
41
23
41
41
21
41
41
23
61
611
xxz
xxx
xxx
xxx
5
453
52
451
1 4 2
1 31
32
32
xzxxx
xx
xxx
Re-optimize using dual simplex method
![Page 18: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/18.jpg)
5
453
52
451
1 4 2
1 31
32
32
xzxxx
xx
xxx
A new fractional solution has been found
![Page 19: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/19.jpg)
5
453
52
451
1 4 2
1 31
32
32
xzxxx
xx
xxx
32
31
32
451 xxx (1)Generating a constraint row cut
![Page 20: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/20.jpg)
5
453
52
451
1 4 2
1 31
32
32
xzxxx
xx
xxx
32
31
32
451
xxx
32
31
32
451 xxx (1)
(weaken)
Generating a constraint row cut
![Page 21: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/21.jpg)
5
453
52
451
1 4 2
1 31
32
32
xzxxx
xx
xxx
32
31
32
451
xxx
32
31
32
451 xxx (1)
32
31
32
451 xxx (2)
Generating a constraint row cut
(valid for integers)
![Page 22: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/22.jpg)
5
453
52
451
1 4 2
1 31
32
32
xzxxx
xx
xxx
32
31
32
451
xxx
32
31
32
451 xxx (1)
32
31
32
451 xxx (2)
(2) – (1)
Generating a constraint row cut
32
32
32
45 xx
![Page 23: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/23.jpg)
5
453
52
451
1 4 2
1 31
32
32
xzxxx
xx
xxx
021 xx
32
31
32
451
xxx
32
31
32
451 xxx (1)
32
31
32
451 xxx (2)
(2) – (1)
Generating a constraint row cut
32
32
32
45 xx
214
213
230236xxxxxx
![Page 24: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/24.jpg)
The second cutting plane
32
32
32
45 xx
021 xx
![Page 25: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/25.jpg)
456 32
32
32 xxx
Add a new slack variable:32
32
32
45 xx
![Page 26: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/26.jpg)
5
456
453
52
451
1 32
32
32
4 2 1
31
32
32
xz
xxx
xxxxx
xxx
The new cut is inserted into the optimum dictionary
32
32
32
45 xx
![Page 27: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/27.jpg)
5
456
453
52
451
1 32
32
32
4 2 1
31
32
32
xz
xxx
xxxxx
xxx
5
654
653
52
651
1 32 1
235 1
1 211
xz
xxx
xxx
xx
xxx
Re-optimize using dual simplex method
![Page 28: Gomory’s cutting plane algorithm for integer programming](https://reader033.fdocuments.in/reader033/viewer/2022061410/56815dc0550346895dcbeb92/html5/thumbnails/28.jpg)
5
654
653
52
651
1 32 1
235 1
1 211
xz
xxx
xxx
xx
xxx
The new optimum solution is integral