This commit is contained in:
Ross
2021-01-12 20:47:09 +00:00
parent eddb6a0f04
commit 1d3801c69e
11 changed files with 541 additions and 501 deletions
-1
View File
@@ -1 +0,0 @@
,ross,maverick.fritz.box,22.05.2020 22:23,file:///home/ross/.config/libreoffice/4;
Binary file not shown.
+119 -132
View File
@@ -1,156 +1,143 @@
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmpkbbun619.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmpkbbun619.pyomo.soln']
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmpm6w5veoc.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmpm6w5veoc.pyomo.soln']
Welcome to the CBC MILP Solver
Version: 2.9.9
Build Date: Aug 7 2019
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmpkbbun619.pyomo.lp -stat=1 -solve -solu /tmp/tmpkbbun619.pyomo.soln (default strategy 1)
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmpm6w5veoc.pyomo.lp -stat=1 -solve -solu /tmp/tmpm6w5veoc.pyomo.soln (default strategy 1)
seconds was changed from 1e+100 to 10200
allowableGap was changed from 1e-10 to 2000
Option for printingOptions changed from normal to all
Presolve 51518 (-72663) rows, 21211 (-76730) columns and 209445 (-787248) elements
Presolve is modifying 45 integer bounds and re-presolving
Presolve 91797 (-157476) rows, 38070 (-156947) columns and 411077 (-1586052) elements
Statistics for presolved model
Original problem has 97028 integers (96096 of which binary)
Presolved problem has 20875 integers (20459 of which binary)
==== 19514 zero objective 4 different
19514 variables have objective of 0
1233 variables have objective of 1
Original problem has 194104 integers (192192 of which binary)
Presolved problem has 37736 integers (36799 of which binary)
==== 34972 zero objective 5 different
34972 variables have objective of 0
2173 variables have objective of 1
48 variables have objective of 10
416 variables have objective of 20
==== absolute objective values 4 different
19514 variables have objective of 0
1233 variables have objective of 1
832 variables have objective of 20
45 variables have objective of 1000
==== absolute objective values 5 different
34972 variables have objective of 0
2173 variables have objective of 1
48 variables have objective of 10
416 variables have objective of 20
==== for integers 19322 zero objective 3 different
19322 variables have objective of 0
1137 variables have objective of 1
416 variables have objective of 20
==== for integers absolute objective values 3 different
19322 variables have objective of 0
1137 variables have objective of 1
416 variables have objective of 20
832 variables have objective of 20
45 variables have objective of 1000
==== for integers 34782 zero objective 4 different
34782 variables have objective of 0
2077 variables have objective of 1
832 variables have objective of 20
45 variables have objective of 1000
==== for integers absolute objective values 4 different
34782 variables have objective of 0
2077 variables have objective of 1
832 variables have objective of 20
45 variables have objective of 1000
===== end objective counts
Problem has 51518 rows, 21211 columns (1697 with objective) and 209445 elements
There are 1649 singletons with objective
Problem has 91797 rows, 38070 columns (3098 with objective) and 411077 elements
There are 3003 singletons with objective
Column breakdown:
752 of type 0.0->inf, 0 of type 0.0->up, 0 of type lo->inf,
1226 of type 0.0->inf, 45 of type 0.0->up, 0 of type lo->inf,
0 of type lo->up, 0 of type free, 0 of type fixed,
0 of type -inf->0.0, 0 of type -inf->up, 20459 of type 0.0->1.0
0 of type -inf->0.0, 0 of type -inf->up, 36799 of type 0.0->1.0
Row breakdown:
2273 of type E 0.0, 676 of type E 1.0, 208 of type E -1.0,
378 of type E other, 0 of type G 0.0, 52 of type G 1.0,
43 of type G other, 3411 of type L 0.0, 41843 of type L 1.0,
2634 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
4203 of type E 0.0, 1352 of type E 1.0, 415 of type E -1.0,
612 of type E other, 0 of type G 0.0, 104 of type G 1.0,
147 of type G other, 6233 of type L 0.0, 74257 of type L 1.0,
4474 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
0 of type Free
Continuous objective value is 2592.5 - 16.65 seconds
Cgl0002I 71445 variables fixed
Cgl0003I 0 fixed, 416 tightened bounds, 34673 strengthened rows, 40175 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7041 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 2803 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 708 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 2 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1 strengthened rows, 0 substitutions
Cgl0004I processed model has 18110 rows, 13274 columns (12938 integer (12522 of which binary)) and 109434 elements
Cbc0038I Initial state - 1221 integers unsatisfied sum - 351.402
Cbc0038I Pass 1: (30.58 seconds) suminf. 155.95883 (336) obj. 5432.65 iterations 6635
Cbc0038I Pass 2: (30.65 seconds) suminf. 142.79755 (306) obj. 5456.2 iterations 563
Cbc0038I Pass 3: (30.69 seconds) suminf. 137.30963 (290) obj. 5386.89 iterations 259
Cbc0038I Pass 4: (30.72 seconds) suminf. 137.30963 (290) obj. 5386.89 iterations 1
Cbc0038I Pass 5: (30.75 seconds) suminf. 122.80963 (261) obj. 5401.39 iterations 61
Cbc0038I Pass 6: (30.78 seconds) suminf. 109.80963 (235) obj. 5414.39 iterations 52
Cbc0038I Pass 7: (30.82 seconds) suminf. 99.30963 (214) obj. 5424.89 iterations 76
Cbc0038I Pass 8: (30.85 seconds) suminf. 94.30963 (204) obj. 5429.89 iterations 23
Cbc0038I Pass 9: (30.88 seconds) suminf. 85.30963 (186) obj. 5438.89 iterations 44
Cbc0038I Pass 10: (30.91 seconds) suminf. 78.30963 (172) obj. 5445.89 iterations 37
Cbc0038I Pass 11: (30.94 seconds) suminf. 64.21464 (142) obj. 5454.39 iterations 83
Cbc0038I Pass 12: (30.97 seconds) suminf. 63.71079 (139) obj. 5454.39 iterations 34
Cbc0038I Pass 13: (31.00 seconds) suminf. 54.21079 (120) obj. 5454.89 iterations 81
Cbc0038I Pass 14: (31.03 seconds) suminf. 54.21079 (120) obj. 5454.89 iterations 19
Cbc0038I Pass 15: (31.07 seconds) suminf. 53.21079 (118) obj. 5455.39 iterations 30
Cbc0038I Pass 16: (31.10 seconds) suminf. 53.21079 (118) obj. 5455.39 iterations 33
Cbc0038I Pass 17: (31.13 seconds) suminf. 51.71079 (115) obj. 5455.39 iterations 30
Cbc0038I Pass 18: (31.16 seconds) suminf. 51.71079 (115) obj. 5455.39 iterations 32
Cbc0038I Pass 19: (31.19 seconds) suminf. 48.71079 (109) obj. 5455.39 iterations 67
Cbc0038I Pass 20: (31.22 seconds) suminf. 48.71079 (109) obj. 5455.39 iterations 24
Cbc0038I Pass 21: (31.25 seconds) suminf. 46.21079 (104) obj. 5455.39 iterations 47
Cbc0038I Pass 22: (31.29 seconds) suminf. 46.21079 (104) obj. 5455.39 iterations 38
Cbc0038I Pass 23: (31.32 seconds) suminf. 46.21079 (104) obj. 5455.39 iterations 33
Cbc0038I Pass 24: (31.39 seconds) suminf. 34.01332 (85) obj. 6407.55 iterations 843
Cbc0038I Pass 25: (31.45 seconds) suminf. 33.38400 (83) obj. 6693.38 iterations 513
Cbc0038I Pass 26: (31.46 seconds) suminf. 33.38400 (83) obj. 6693.38 iterations 0
Cbc0038I Pass 27: (31.49 seconds) suminf. 31.78323 (80) obj. 6694.38 iterations 61
Cbc0038I Pass 28: (31.52 seconds) suminf. 31.78323 (80) obj. 6694.38 iterations 28
Cbc0038I Pass 29: (31.55 seconds) suminf. 31.78323 (80) obj. 6694.38 iterations 6
Cbc0038I Pass 30: (31.58 seconds) suminf. 31.78323 (80) obj. 6694.38 iterations 24
Continuous objective value is 88705 - 311.62 seconds
Cgl0002I 146180 variables fixed
Cgl0003I 0 fixed, 886 tightened bounds, 60816 strengthened rows, 72653 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 12803 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 5063 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1246 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 124 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 39 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 12 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0004I processed model has 32168 rows, 23613 columns (23279 integer (22357 of which binary)) and 207354 elements
Cbc0038I Initial state - 2853 integers unsatisfied sum - 812.953
Cbc0038I Pass 1: (614.50 seconds) suminf. 303.71315 (784) obj. 94457.9 iterations 25547
Cbc0038I Pass 2: (616.54 seconds) suminf. 246.96572 (624) obj. 94464.9 iterations 5046
Cbc0038I Pass 3: (617.40 seconds) suminf. 229.71702 (542) obj. 94934.5 iterations 2529
Cbc0038I Pass 4: (617.60 seconds) suminf. 221.76593 (533) obj. 94952.5 iterations 624
Cbc0038I Pass 5: (617.66 seconds) suminf. 220.47567 (528) obj. 95079.9 iterations 38
Cbc0038I Pass 6: (617.74 seconds) suminf. 216.81379 (520) obj. 95225.9 iterations 184
Cbc0038I Pass 7: (617.78 seconds) suminf. 216.31379 (519) obj. 95226.4 iterations 9
Cbc0038I Pass 8: (617.83 seconds) suminf. 208.31379 (503) obj. 95234.4 iterations 32
Cbc0038I Pass 9: (617.88 seconds) suminf. 196.31379 (479) obj. 95246.4 iterations 44
Cbc0038I Pass 10: (617.93 seconds) suminf. 187.31379 (461) obj. 95255.4 iterations 30
Cbc0038I Pass 11: (617.98 seconds) suminf. 177.31379 (441) obj. 95265.4 iterations 40
Cbc0038I Pass 12: (618.03 seconds) suminf. 172.31379 (431) obj. 95270.4 iterations 16
Cbc0038I Pass 13: (618.08 seconds) suminf. 161.31379 (409) obj. 95281.4 iterations 43
Cbc0038I Pass 14: (618.12 seconds) suminf. 152.31379 (391) obj. 95290.4 iterations 28
Cbc0038I Pass 15: (618.17 seconds) suminf. 144.31379 (375) obj. 95298.4 iterations 27
Cbc0038I Pass 16: (618.22 seconds) suminf. 139.31379 (365) obj. 95303.4 iterations 23
Cbc0038I Pass 17: (618.27 seconds) suminf. 138.81379 (364) obj. 95303.9 iterations 1
Cbc0038I Pass 18: (618.32 seconds) suminf. 133.81379 (354) obj. 95308.9 iterations 20
Cbc0038I Pass 19: (618.37 seconds) suminf. 122.31379 (331) obj. 95316.9 iterations 60
Cbc0038I Pass 20: (618.42 seconds) suminf. 121.81379 (330) obj. 95317.4 iterations 7
Cbc0038I Pass 21: (618.51 seconds) suminf. 117.02460 (316) obj. 95348.4 iterations 201
Cbc0038I Pass 22: (618.57 seconds) suminf. 116.96789 (308) obj. 95347.4 iterations 38
Cbc0038I Pass 23: (618.79 seconds) suminf. 115.01019 (313) obj. 95358.3 iterations 575
Cbc0038I Pass 24: (618.88 seconds) suminf. 114.72221 (315) obj. 95351.2 iterations 181
Cbc0038I Pass 25: (618.93 seconds) suminf. 108.72221 (303) obj. 95357.2 iterations 26
Cbc0038I Pass 26: (618.98 seconds) suminf. 108.72221 (303) obj. 95357.2 iterations 13
Cbc0038I Pass 27: (619.03 seconds) suminf. 99.72221 (285) obj. 95366.2 iterations 36
Cbc0038I Pass 28: (619.07 seconds) suminf. 99.72221 (285) obj. 95366.2 iterations 8
Cbc0038I Pass 29: (619.13 seconds) suminf. 90.22221 (266) obj. 95375.7 iterations 58
Cbc0038I Pass 30: (619.18 seconds) suminf. 90.22221 (266) obj. 95375.7 iterations 11
Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 11535 integers at bound fixed and 115 continuous of which 24 were internal integer and 0 internal continuous
Cbc0038I Mini branch and bound did not improve solution (31.61 seconds)
Cbc0038I After 31.61 seconds - Feasibility pump exiting - took 2.82 seconds
Cbc0031I 483 added rows had average density of 39.521739
Cbc0013I At root node, 483 cuts changed objective from 2690 to 3117.1725 in 20 passes
Cbc0014I Cut generator 0 (Probing) - 5548 row cuts average 2.0 elements, 0 column cuts (0 active) in 8.493 seconds - new frequency is 1
Cbc0014I Cut generator 1 (Gomory) - 2183 row cuts average 97.8 elements, 0 column cuts (0 active) in 6.516 seconds - new frequency is 1
Cbc0014I Cut generator 2 (Knapsack) - 4111 row cuts average 2.2 elements, 0 column cuts (0 active) in 0.425 seconds - new frequency is 1
Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.432 seconds - new frequency is -100
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 2790 row cuts average 23.5 elements, 0 column cuts (0 active) in 0.577 seconds - new frequency is 1
Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.116 seconds - new frequency is -100
Cbc0014I Cut generator 6 (TwoMirCuts) - 2887 row cuts average 32.5 elements, 0 column cuts (0 active) in 4.257 seconds - new frequency is 1
Cbc0010I After 0 nodes, 1 on tree, 1e+50 best solution, best possible 3117.1725 (161.21 seconds)
Cbc0010I After 100 nodes, 60 on tree, 1e+50 best solution, best possible 3117.1725 (568.76 seconds)
Cbc0010I After 200 nodes, 111 on tree, 1e+50 best solution, best possible 3117.1725 (847.95 seconds)
Cbc0010I After 300 nodes, 163 on tree, 1e+50 best solution, best possible 3117.1725 (1116.36 seconds)
Cbc0010I After 400 nodes, 215 on tree, 1e+50 best solution, best possible 3117.1725 (1357.97 seconds)
Cbc0010I After 500 nodes, 266 on tree, 1e+50 best solution, best possible 3117.1725 (1525.26 seconds)
Cbc0010I After 600 nodes, 316 on tree, 1e+50 best solution, best possible 3117.1725 (1671.45 seconds)
Cbc0010I After 700 nodes, 367 on tree, 1e+50 best solution, best possible 3117.1725 (1874.27 seconds)
Cbc0010I After 800 nodes, 419 on tree, 1e+50 best solution, best possible 3117.1725 (2033.39 seconds)
Cbc0010I After 900 nodes, 466 on tree, 1e+50 best solution, best possible 3117.1725 (2189.03 seconds)
Cbc0010I After 1000 nodes, 518 on tree, 1e+50 best solution, best possible 3117.1725 (2327.79 seconds)
Cbc0010I After 1100 nodes, 616 on tree, 1e+50 best solution, best possible 3126.9955 (2600.73 seconds)
Cbc0010I After 1200 nodes, 716 on tree, 1e+50 best solution, best possible 3126.9955 (2639.75 seconds)
Cbc0010I After 1300 nodes, 816 on tree, 1e+50 best solution, best possible 3126.9955 (2703.37 seconds)
Cbc0010I After 1400 nodes, 916 on tree, 1e+50 best solution, best possible 3126.9955 (2795.95 seconds)
Cbc0010I After 1500 nodes, 1016 on tree, 1e+50 best solution, best possible 3126.9955 (2869.50 seconds)
Cbc0010I After 1600 nodes, 1116 on tree, 1e+50 best solution, best possible 3126.9955 (2933.50 seconds)
Cbc0010I After 1700 nodes, 1216 on tree, 1e+50 best solution, best possible 3126.9955 (2989.15 seconds)
Cbc0010I After 1800 nodes, 1316 on tree, 1e+50 best solution, best possible 3126.9955 (3039.58 seconds)
Cbc0010I After 1900 nodes, 1416 on tree, 1e+50 best solution, best possible 3126.9955 (3051.57 seconds)
Cbc0010I After 2000 nodes, 1516 on tree, 1e+50 best solution, best possible 3126.9955 (3075.06 seconds)
Cbc0010I After 2100 nodes, 1616 on tree, 1e+50 best solution, best possible 3126.9955 (3088.92 seconds)
Cbc0010I After 2200 nodes, 1716 on tree, 1e+50 best solution, best possible 3126.9955 (3129.25 seconds)
Cbc0004I Integer solution of 3274.7611 found after 1698960 iterations and 2300 nodes (3165.29 seconds)
Cbc0010I After 2300 nodes, 1812 on tree, 3274.7611 best solution, best possible 3126.9955 (3165.30 seconds)
Cbc0038I Full problem 18110 rows 13274 columns, reduced to 2471 rows 1761 columns
Cbc0011I Exiting as integer gap of 147.76564 less than 2000 or 0%%
Cbc0001I Search completed - best objective 3274.761142346083, took 1699719 iterations and 2301 nodes (3188.36 seconds)
Cbc0032I Strong branching done 20596 times (1700881 iterations), fathomed 0 nodes and fixed 0 variables
Cbc0035I Maximum depth 1298, 0 variables fixed on reduced cost
Cuts at root node changed objective from 2690 to 3117.17
Probing was tried 2476 times and created 106374 cuts of which 0 were active after adding rounds of cuts (31.229 seconds)
Gomory was tried 2476 times and created 6574 cuts of which 0 were active after adding rounds of cuts (116.921 seconds)
Knapsack was tried 2476 times and created 68190 cuts of which 0 were active after adding rounds of cuts (36.017 seconds)
Clique was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.432 seconds)
MixedIntegerRounding2 was tried 2476 times and created 30603 cuts of which 0 were active after adding rounds of cuts (48.780 seconds)
FlowCover was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.116 seconds)
TwoMirCuts was tried 2476 times and created 22706 cuts of which 0 were active after adding rounds of cuts (28.675 seconds)
ImplicationCuts was tried 65 times and created 19542 cuts of which 0 were active after adding rounds of cuts (0.166 seconds)
Cbc0038I Before mini branch and bound, 20085 integers at bound fixed and 96 continuous of which 58 were internal integer and 0 internal continuous
Cbc0038I Mini branch and bound did not improve solution (619.23 seconds)
Cbc0038I After 619.24 seconds - Feasibility pump exiting - took 27.95 seconds
Cbc0031I 1749 added rows had average density of 22.426529
Cbc0013I At root node, 1749 cuts changed objective from 88900 to 89247.95 in 20 passes
Cbc0014I Cut generator 0 (Probing) - 11218 row cuts average 2.0 elements, 0 column cuts (665 active) in 5.055 seconds - new frequency is 1
Cbc0014I Cut generator 1 (Gomory) - 7011 row cuts average 41.5 elements, 0 column cuts (0 active) in 33.366 seconds - new frequency is 1
Cbc0014I Cut generator 2 (Knapsack) - 8333 row cuts average 2.3 elements, 0 column cuts (0 active) in 1.082 seconds - new frequency is 1
Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 3.225 seconds - new frequency is -100
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 4621 row cuts average 19.4 elements, 0 column cuts (0 active) in 1.674 seconds - new frequency is 1
Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.253 seconds - new frequency is -100
Cbc0014I Cut generator 6 (TwoMirCuts) - 6583 row cuts average 23.1 elements, 0 column cuts (0 active) in 28.714 seconds - new frequency is -100
Cbc0010I After 0 nodes, 1 on tree, 1e+50 best solution, best possible 89247.95 (2119.82 seconds)
Cbc0010I After 100 nodes, 66 on tree, 1e+50 best solution, best possible 89247.95 (3253.27 seconds)
Cbc0010I After 200 nodes, 120 on tree, 1e+50 best solution, best possible 89247.95 (4380.79 seconds)
Cbc0010I After 300 nodes, 171 on tree, 1e+50 best solution, best possible 89247.95 (5166.78 seconds)
Cbc0010I After 400 nodes, 221 on tree, 1e+50 best solution, best possible 89247.95 (6169.85 seconds)
Cbc0010I After 500 nodes, 274 on tree, 1e+50 best solution, best possible 89247.95 (7003.81 seconds)
Cbc0010I After 600 nodes, 323 on tree, 1e+50 best solution, best possible 89247.95 (7792.60 seconds)
Cbc0010I After 700 nodes, 376 on tree, 1e+50 best solution, best possible 89247.95 (8625.47 seconds)
Cbc0010I After 800 nodes, 426 on tree, 1e+50 best solution, best possible 89247.95 (9424.74 seconds)
Cbc0020I Exiting on maximum time
Cbc0005I Partial search - best objective 1e+50 (best possible 89247.95), took 3002327 iterations and 861 nodes (9924.36 seconds)
Cbc0032I Strong branching done 18012 times (1649417 iterations), fathomed 0 nodes and fixed 0 variables
Cbc0035I Maximum depth 151, 0 variables fixed on reduced cost
Cuts at root node changed objective from 88900 to 89247.9
Probing was tried 530 times and created 44659 cuts of which 665 were active after adding rounds of cuts (14.113 seconds)
Gomory was tried 530 times and created 12643 cuts of which 0 were active after adding rounds of cuts (121.794 seconds)
Knapsack was tried 530 times and created 29869 cuts of which 0 were active after adding rounds of cuts (14.460 seconds)
Clique was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (3.225 seconds)
MixedIntegerRounding2 was tried 530 times and created 40532 cuts of which 0 were active after adding rounds of cuts (25.301 seconds)
FlowCover was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.253 seconds)
TwoMirCuts was tried 20 times and created 6583 cuts of which 0 were active after adding rounds of cuts (28.714 seconds)
ImplicationCuts was tried 35 times and created 7645 cuts of which 0 were active after adding rounds of cuts (0.112 seconds)
Result - Optimal solution found (within gap tolerance)
Result - Stopped on time limit
Objective value: 3274.76114235
Lower bound: 3126.996
Gap: 0.05
Enumerated nodes: 2301
Total iterations: 1699719
Time (CPU seconds): 3189.68
Time (Wallclock seconds): 3193.13
No feasible solution found
Lower bound: 89247.950
Enumerated nodes: 861
Total iterations: 3002327
Time (CPU seconds): 9924.39
Time (Wallclock seconds): 17775.29
Total time (CPU seconds): 3191.71 (Wallclock seconds): 3195.33
Total time (CPU seconds): 9933.15 (Wallclock seconds): 17784.41
+94 -93
View File
@@ -1,125 +1,126 @@
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmpkbdsvsfl.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmpkbdsvsfl.pyomo.soln']
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmp0n10b5sx.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmp0n10b5sx.pyomo.soln']
Welcome to the CBC MILP Solver
Version: 2.9.9
Build Date: Aug 7 2019
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmpkbdsvsfl.pyomo.lp -stat=1 -solve -solu /tmp/tmpkbdsvsfl.pyomo.soln (default strategy 1)
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmp0n10b5sx.pyomo.lp -stat=1 -solve -solu /tmp/tmp0n10b5sx.pyomo.soln (default strategy 1)
seconds was changed from 1e+100 to 10200
allowableGap was changed from 1e-10 to 2000
Option for printingOptions changed from normal to all
Presolve 15576 (-101189) rows, 12120 (-10453) columns and 82539 (-204706) elements
Presolve 15737 (-101268) rows, 12164 (-10505) columns and 89244 (-198481) elements
Statistics for presolved model
Original problem has 22044 integers (21216 of which binary)
Presolved problem has 11784 integers (11360 of which binary)
==== 11560 zero objective 4 different
Original problem has 22140 integers (21216 of which binary)
Presolved problem has 11828 integers (11360 of which binary)
==== 11560 zero objective 5 different
11560 variables have objective of 0
96 variables have objective of 1
48 variables have objective of 10
416 variables have objective of 20
==== absolute objective values 4 different
44 variables have objective of 1000
==== absolute objective values 5 different
11560 variables have objective of 0
96 variables have objective of 1
48 variables have objective of 10
416 variables have objective of 20
==== for integers 11368 zero objective 2 different
44 variables have objective of 1000
==== for integers 11368 zero objective 3 different
11368 variables have objective of 0
416 variables have objective of 20
==== for integers absolute objective values 2 different
44 variables have objective of 1000
==== for integers absolute objective values 3 different
11368 variables have objective of 0
416 variables have objective of 20
44 variables have objective of 1000
===== end objective counts
Problem has 15576 rows, 12120 columns (560 with objective) and 82539 elements
Problem has 15737 rows, 12164 columns (604 with objective) and 89244 elements
There are 512 singletons with objective
Column breakdown:
760 of type 0.0->inf, 0 of type 0.0->up, 0 of type lo->inf,
804 of type 0.0->inf, 0 of type 0.0->up, 0 of type lo->inf,
0 of type lo->up, 0 of type free, 0 of type fixed,
0 of type -inf->0.0, 0 of type -inf->up, 11360 of type 0.0->1.0
Row breakdown:
2281 of type E 0.0, 0 of type E 1.0, 208 of type E -1.0,
326 of type E other, 0 of type G 0.0, 52 of type G 1.0,
0 of type G other, 2270 of type L 0.0, 9030 of type L 1.0,
1409 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
66 of type G other, 2270 of type L 0.0, 9030 of type L 1.0,
1504 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
0 of type Free
Continuous objective value is 2560 - 9.87 seconds
Continuous objective value is 20560 - 4.75 seconds
Cgl0002I 9517 variables fixed
Cgl0003I 0 fixed, 416 tightened bounds, 9800 strengthened rows, 49679 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 2540 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1884 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 568 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 113 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 82 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 77 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 71 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 67 strengthened rows, 0 substitutions
Cgl0004I processed model has 3086 rows, 3046 columns (2710 integer (2294 of which binary)) and 25548 elements
Cbc0038I Initial state - 146 integers unsatisfied sum - 37.469
Cbc0038I Pass 1: (11.59 seconds) suminf. 0.47173 (2) obj. 4275.76 iterations 590
Cbc0038I Pass 2: (11.59 seconds) suminf. 0.47173 (2) obj. 4275.76 iterations 8
Cbc0038I Pass 3: (11.60 seconds) suminf. 0.00000 (0) obj. 4323.8 iterations 9
Cbc0038I Solution found of 4323.8
Cbc0038I Relaxing continuous gives 3974.12
Cbc0038I Cleaned solution of 3974.12
Cbc0038I Before mini branch and bound, 2559 integers at bound fixed and 136 continuous of which 33 were internal integer and 0 internal continuous
Cbc0038I Full problem 3086 rows 3046 columns, reduced to 52 rows 49 columns
Cbc0038I Mini branch and bound did not improve solution (11.63 seconds)
Cbc0038I Freeing continuous variables gives a solution of 3974.12
Cbc0038I Round again with cutoff of 3832.71
Cbc0038I Pass 4: (11.66 seconds) suminf. 1.45488 (8) obj. 3832.71 iterations 29
Cbc0038I Pass 5: (11.68 seconds) suminf. 0.64928 (9) obj. 3832.71 iterations 261
Cbc0038I Pass 6: (11.69 seconds) suminf. 1.21829 (7) obj. 3832.71 iterations 255
Cbc0038I Pass 7: (11.70 seconds) suminf. 1.09024 (5) obj. 3832.71 iterations 15
Cbc0038I Pass 8: (11.71 seconds) suminf. 0.00000 (0) obj. 3832.71 iterations 166
Cbc0038I Solution found of 3832.71
Cbc0038I Relaxing continuous gives 3698.04
Cbc0038I Cleaned solution of 3698.04
Cbc0038I Before mini branch and bound, 2549 integers at bound fixed and 132 continuous of which 33 were internal integer and 0 internal continuous
Cbc0038I Full problem 3086 rows 3046 columns, reduced to 89 rows 86 columns
Cbc0038I Mini branch and bound did not improve solution (11.78 seconds)
Cbc0038I Freeing continuous variables gives a solution of 3698.04
Cbc0038I Round again with cutoff of 3470.43
Cbc0038I Pass 9: (11.83 seconds) suminf. 5.71444 (21) obj. 3470.43 iterations 178
Cbc0038I Pass 10: (11.84 seconds) suminf. 3.39913 (21) obj. 3470.43 iterations 246
Cbc0038I Pass 11: (11.85 seconds) suminf. 3.15309 (17) obj. 3470.43 iterations 120
Cbc0038I Pass 12: (11.88 seconds) suminf. 5.18611 (29) obj. 3470.43 iterations 504
Cbc0038I Pass 13: (11.88 seconds) suminf. 5.34128 (30) obj. 3470.43 iterations 94
Cbc0038I Pass 14: (11.89 seconds) suminf. 4.85719 (30) obj. 3470.43 iterations 43
Cbc0038I Pass 15: (11.90 seconds) suminf. 5.46620 (24) obj. 3470.43 iterations 214
Cbc0038I Pass 16: (11.91 seconds) suminf. 4.67465 (26) obj. 3470.43 iterations 60
Cbc0038I Pass 17: (11.93 seconds) suminf. 6.52181 (26) obj. 3470.43 iterations 326
Cbc0038I Pass 18: (11.94 seconds) suminf. 4.39105 (26) obj. 3470.43 iterations 206
Cbc0038I Pass 19: (11.97 seconds) suminf. 7.16407 (27) obj. 3470.43 iterations 519
Cbc0038I Pass 20: (11.98 seconds) suminf. 5.57749 (32) obj. 3470.43 iterations 187
Cbc0038I Pass 21: (12.00 seconds) suminf. 6.06664 (26) obj. 3470.43 iterations 331
Cbc0038I Pass 22: (12.00 seconds) suminf. 4.83984 (24) obj. 3470.43 iterations 162
Cbc0038I Pass 23: (12.01 seconds) suminf. 4.04829 (26) obj. 3470.43 iterations 67
Cbc0038I Pass 24: (12.04 seconds) suminf. 7.50683 (27) obj. 3470.43 iterations 490
Cbc0038I Pass 25: (12.05 seconds) suminf. 5.92024 (32) obj. 3470.43 iterations 191
Cbc0038I Pass 26: (12.07 seconds) suminf. 8.83513 (32) obj. 3470.43 iterations 403
Cbc0038I Pass 27: (12.08 seconds) suminf. 6.60367 (33) obj. 3470.43 iterations 119
Cbc0038I Pass 28: (12.09 seconds) suminf. 6.03597 (37) obj. 3470.43 iterations 149
Cbc0038I Pass 29: (12.12 seconds) suminf. 10.65699 (43) obj. 3470.43 iterations 543
Cbc0038I Pass 30: (12.13 seconds) suminf. 8.00683 (34) obj. 3470.43 iterations 164
Cbc0038I Pass 31: (12.14 seconds) suminf. 7.15875 (36) obj. 3470.43 iterations 65
Cbc0038I Pass 32: (12.15 seconds) suminf. 6.24921 (32) obj. 3470.43 iterations 230
Cbc0038I Pass 33: (12.16 seconds) suminf. 5.53806 (32) obj. 3470.43 iterations 85
Cbc0038I Pass 34: (12.19 seconds) suminf. 7.17468 (31) obj. 3470.43 iterations 481
Cbc0038I Pass 35: (12.20 seconds) suminf. 5.57660 (28) obj. 3470.43 iterations 141
Cbc0038I Pass 36: (12.22 seconds) suminf. 8.67998 (30) obj. 3470.43 iterations 375
Cbc0038I Pass 37: (12.23 seconds) suminf. 5.94849 (31) obj. 3470.43 iterations 188
Cbc0038I Pass 38: (12.24 seconds) suminf. 5.30715 (31) obj. 3470.43 iterations 76
Cgl0003I 0 fixed, 460 tightened bounds, 9843 strengthened rows, 49529 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 2599 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1911 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 665 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 100 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 79 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 70 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 66 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 63 strengthened rows, 0 substitutions
Cgl0004I processed model has 3181 rows, 3090 columns (2754 integer (2294 of which binary)) and 26196 elements
Cbc0038I Initial state - 162 integers unsatisfied sum - 41.8313
Cbc0038I Pass 1: (6.59 seconds) suminf. 1.16667 (4) obj. 22353.8 iterations 808
Cbc0038I Pass 2: (6.59 seconds) suminf. 0.00000 (0) obj. 22385 iterations 32
Cbc0038I Solution found of 22385
Cbc0038I Relaxing continuous gives 22385
Cbc0038I Cleaned solution of 22385
Cbc0038I Before mini branch and bound, 2586 integers at bound fixed and 130 continuous of which 41 were internal integer and 0 internal continuous
Cbc0038I Full problem 3181 rows 3090 columns, reduced to 129 rows 101 columns
Cbc0038I Mini branch and bound improved solution from 22385 to 21920.6 (6.67 seconds)
Cbc0038I Round again with cutoff of 21784.5
Cbc0038I Pass 3: (6.71 seconds) suminf. 7.02421 (26) obj. 21784.5 iterations 240
Cbc0038I Pass 4: (6.72 seconds) suminf. 4.32325 (20) obj. 21784.5 iterations 123
Cbc0038I Pass 5: (6.74 seconds) suminf. 0.69467 (4) obj. 21784.5 iterations 351
Cbc0038I Pass 6: (6.75 seconds) suminf. 0.14629 (1) obj. 21784.5 iterations 250
Cbc0038I Solution found of 21784.5
Cbc0038I Branch and bound needed to clear up 1 general integers
Cbc0038I Full problem 3182 rows 3090 columns, reduced to 0 rows 0 columns
Cbc0038I Cleaned solution of 21638.2
Cbc0038I Before mini branch and bound, 2568 integers at bound fixed and 122 continuous of which 39 were internal integer and 0 internal continuous
Cbc0038I Full problem 3181 rows 3090 columns, reduced to 151 rows 128 columns
Cbc0038I Mini branch and bound improved solution from 21638.2 to 21616.2 (6.87 seconds)
Cbc0038I Round again with cutoff of 21405
Cbc0038I Pass 7: (6.91 seconds) suminf. 10.98499 (55) obj. 21405 iterations 188
Cbc0038I Pass 8: (6.92 seconds) suminf. 9.55630 (52) obj. 21405 iterations 117
Cbc0038I Pass 9: (6.95 seconds) suminf. 8.90783 (49) obj. 21405 iterations 431
Cbc0038I Pass 10: (6.96 seconds) suminf. 7.98721 (43) obj. 21405 iterations 149
Cbc0038I Pass 11: (6.97 seconds) suminf. 8.08478 (51) obj. 21405 iterations 96
Cbc0038I Pass 12: (7.00 seconds) suminf. 8.71224 (43) obj. 21405 iterations 380
Cbc0038I Pass 13: (7.01 seconds) suminf. 7.30491 (47) obj. 21405 iterations 117
Cbc0038I Pass 14: (7.04 seconds) suminf. 7.76633 (40) obj. 21405 iterations 478
Cbc0038I Pass 15: (7.05 seconds) suminf. 6.78055 (42) obj. 21405 iterations 125
Cbc0038I Pass 16: (7.07 seconds) suminf. 9.57295 (41) obj. 21405 iterations 417
Cbc0038I Pass 17: (7.08 seconds) suminf. 5.24976 (38) obj. 21405 iterations 136
Cbc0038I Pass 18: (7.11 seconds) suminf. 10.01788 (42) obj. 21405 iterations 530
Cbc0038I Pass 19: (7.13 seconds) suminf. 5.89378 (32) obj. 21405 iterations 238
Cbc0038I Pass 20: (7.14 seconds) suminf. 5.25441 (35) obj. 21405 iterations 92
Cbc0038I Pass 21: (7.16 seconds) suminf. 8.72018 (38) obj. 21405 iterations 428
Cbc0038I Pass 22: (7.17 seconds) suminf. 7.42416 (42) obj. 21405 iterations 141
Cbc0038I Pass 23: (7.19 seconds) suminf. 5.80153 (30) obj. 21405 iterations 259
Cbc0038I Pass 24: (7.20 seconds) suminf. 4.40055 (26) obj. 21405 iterations 112
Cbc0038I Pass 25: (7.22 seconds) suminf. 8.37788 (34) obj. 21405 iterations 231
Cbc0038I Pass 26: (7.23 seconds) suminf. 6.85498 (37) obj. 21405 iterations 164
Cbc0038I Pass 27: (7.25 seconds) suminf. 10.56948 (37) obj. 21405 iterations 444
Cbc0038I Pass 28: (7.26 seconds) suminf. 7.66748 (37) obj. 21405 iterations 160
Cbc0038I Pass 29: (7.28 seconds) suminf. 11.59093 (41) obj. 21405 iterations 352
Cbc0038I Pass 30: (7.30 seconds) suminf. 6.46883 (37) obj. 21405 iterations 248
Cbc0038I Pass 31: (7.31 seconds) suminf. 5.79519 (37) obj. 21405 iterations 32
Cbc0038I Pass 32: (7.33 seconds) suminf. 9.32073 (38) obj. 21405 iterations 391
Cbc0038I Pass 33: (7.34 seconds) suminf. 8.05261 (34) obj. 21405 iterations 115
Cbc0038I Pass 34: (7.35 seconds) suminf. 8.05261 (34) obj. 21405 iterations 6
Cbc0038I Pass 35: (7.37 seconds) suminf. 4.85029 (18) obj. 21405 iterations 282
Cbc0038I Pass 36: (7.38 seconds) suminf. 4.84264 (27) obj. 21405 iterations 97
Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 2505 integers at bound fixed and 101 continuous of which 30 were internal integer and 0 internal continuous
Cbc0038I Full problem 3086 rows 3046 columns, reduced to 204 rows 208 columns
Cbc0038I Mini branch and bound did not improve solution (12.27 seconds)
Cbc0038I After 12.27 seconds - Feasibility pump exiting with objective of 3698.04 - took 0.73 seconds
Cbc0012I Integer solution of 3698.0376 found by feasibility pump after 0 iterations and 0 nodes (12.27 seconds)
Cbc0011I Exiting as integer gap of 1138.0376 less than 2000 or 0%%
Cbc0001I Search completed - best objective 3698.037618571474, took 0 iterations and 0 nodes (12.28 seconds)
Cbc0038I Before mini branch and bound, 2473 integers at bound fixed and 76 continuous of which 31 were internal integer and 0 internal continuous
Cbc0038I Full problem 3181 rows 3090 columns, reduced to 343 rows 338 columns
Cbc0038I Mini branch and bound did not improve solution (7.66 seconds)
Cbc0038I After 7.66 seconds - Feasibility pump exiting with objective of 21616.2 - took 1.13 seconds
Cbc0012I Integer solution of 21616.201 found by feasibility pump after 0 iterations and 0 nodes (7.67 seconds)
Cbc0011I Exiting as integer gap of 1056.2007 less than 2000 or 0%%
Cbc0001I Search completed - best objective 21616.20074048049, took 0 iterations and 0 nodes (7.67 seconds)
Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost
Cuts at root node changed objective from 2560 to 2560
Cuts at root node changed objective from 20560 to 20560
Probing was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Gomory was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Knapsack was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
@@ -130,14 +131,14 @@ TwoMirCuts was tried 0 times and created 0 cuts of which 0 were active after add
Result - Optimal solution found (within gap tolerance)
Objective value: 3698.03761857
Lower bound: 2560.000
Gap: 0.44
Objective value: 21616.20074048
Lower bound: 20560.000
Gap: 0.05
Enumerated nodes: 0
Total iterations: 0
Time (CPU seconds): 12.57
Time (Wallclock seconds): 12.71
Time (CPU seconds): 7.99
Time (Wallclock seconds): 8.10
Total time (CPU seconds): 13.37 (Wallclock seconds): 13.58
Total time (CPU seconds): 8.80 (Wallclock seconds): 8.96
+2 -2
View File
@@ -27,7 +27,7 @@ def load_leave(Rota, file_name="leave.csv"):
site_prefs[name] = []
# preferred site
if n == 5:
if n == 6:
for i in range(len(r)):
pref = r[i].lower()
@@ -37,7 +37,7 @@ def load_leave(Rota, file_name="leave.csv"):
site_prefs[order[i]].append("0")
if n > 6:
if n > 7:
for i in range(len(r)):
lower_item = r[i].lower()
if lower_item != "":
+100 -97
View File
@@ -1,129 +1,132 @@
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmpahus9y28.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmpahus9y28.pyomo.soln']
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmp5quhw7d5.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmp5quhw7d5.pyomo.soln']
Welcome to the CBC MILP Solver
Version: 2.9.9
Build Date: Aug 7 2019
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmpahus9y28.pyomo.lp -stat=1 -solve -solu /tmp/tmpahus9y28.pyomo.soln (default strategy 1)
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmp5quhw7d5.pyomo.lp -stat=1 -solve -solu /tmp/tmp5quhw7d5.pyomo.soln (default strategy 1)
seconds was changed from 1e+100 to 10200
allowableGap was changed from 1e-10 to 2000
Option for printingOptions changed from normal to all
Presolve 7772 (-24029) rows, 10426 (-66671) columns and 53720 (-385345) elements
Presolve 7827 (-24838) rows, 10352 (-66841) columns and 55572 (-385029) elements
Statistics for presolved model
Original problem has 76280 integers (76128 of which binary)
Presolved problem has 10234 integers (10234 of which binary)
==== 9193 zero objective 2 different
9193 variables have objective of 0
Original problem has 76376 integers (76128 of which binary)
Presolved problem has 10160 integers (10116 of which binary)
==== 9075 zero objective 3 different
9075 variables have objective of 0
1233 variables have objective of 1
==== absolute objective values 2 different
9193 variables have objective of 0
44 variables have objective of 1000
==== absolute objective values 3 different
9075 variables have objective of 0
1233 variables have objective of 1
==== for integers 9097 zero objective 2 different
9097 variables have objective of 0
44 variables have objective of 1000
==== for integers 8979 zero objective 3 different
8979 variables have objective of 0
1137 variables have objective of 1
==== for integers absolute objective values 2 different
9097 variables have objective of 0
44 variables have objective of 1000
==== for integers absolute objective values 3 different
8979 variables have objective of 0
1137 variables have objective of 1
44 variables have objective of 1000
===== end objective counts
Problem has 7772 rows, 10426 columns (1233 with objective) and 53720 elements
There are 1233 singletons with objective
Problem has 7827 rows, 10352 columns (1277 with objective) and 55572 elements
There are 1234 singletons with objective
Column breakdown:
192 of type 0.0->inf, 0 of type 0.0->up, 0 of type lo->inf,
236 of type 0.0->inf, 0 of type 0.0->up, 0 of type lo->inf,
0 of type lo->up, 0 of type free, 0 of type fixed,
0 of type -inf->0.0, 0 of type -inf->up, 10234 of type 0.0->1.0
0 of type -inf->0.0, 0 of type -inf->up, 10116 of type 0.0->1.0
Row breakdown:
0 of type E 0.0, 676 of type E 1.0, 0 of type E -1.0,
148 of type E other, 0 of type G 0.0, 0 of type G 1.0,
43 of type G other, 3411 of type L 0.0, 1089 of type L 1.0,
2405 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
74 of type G other, 3411 of type L 0.0, 1089 of type L 1.0,
2429 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
0 of type Free
Continuous objective value is 512.5 - 0.24 seconds
Cgl0002I 61928 variables fixed
Cgl0003I 0 fixed, 0 tightened bounds, 2270 strengthened rows, 4 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 320 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 320 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 320 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 320 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 320 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 320 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 320 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 320 strengthened rows, 0 substitutions
Cgl0004I processed model has 7725 rows, 10424 columns (10232 integer (10232 of which binary)) and 53732 elements
Cbc0038I Initial state - 529 integers unsatisfied sum - 224.918
Cbc0038I Pass 1: (1.64 seconds) suminf. 189.00000 (378) obj. 628.389 iterations 1696
Cbc0038I Pass 2: (1.65 seconds) suminf. 186.00000 (372) obj. 628.389 iterations 82
Cbc0038I Pass 3: (1.66 seconds) suminf. 186.00000 (372) obj. 628.389 iterations 39
Cbc0038I Pass 4: (1.68 seconds) suminf. 186.00000 (372) obj. 628.389 iterations 32
Cbc0038I Pass 5: (1.69 seconds) suminf. 186.00000 (372) obj. 628.389 iterations 38
Cbc0038I Pass 6: (1.71 seconds) suminf. 186.00000 (372) obj. 628.389 iterations 31
Cbc0038I Pass 7: (1.73 seconds) suminf. 186.00000 (372) obj. 628.389 iterations 34
Cbc0038I Pass 8: (1.74 seconds) suminf. 186.00000 (372) obj. 628.389 iterations 39
Cbc0038I Pass 9: (1.76 seconds) suminf. 185.50000 (371) obj. 628.889 iterations 36
Cbc0038I Pass 10: (1.77 seconds) suminf. 185.50000 (371) obj. 628.889 iterations 36
Cbc0038I Pass 11: (1.79 seconds) suminf. 185.50000 (371) obj. 628.889 iterations 40
Cbc0038I Pass 12: (1.80 seconds) suminf. 185.50000 (371) obj. 628.889 iterations 40
Cbc0038I Pass 13: (1.82 seconds) suminf. 94.50000 (189) obj. 696.889 iterations 449
Cbc0038I Pass 14: (1.84 seconds) suminf. 94.50000 (189) obj. 696.889 iterations 77
Cbc0038I Pass 15: (1.85 seconds) suminf. 94.50000 (189) obj. 696.889 iterations 48
Cbc0038I Pass 16: (1.87 seconds) suminf. 94.50000 (189) obj. 696.889 iterations 51
Cbc0038I Pass 17: (1.89 seconds) suminf. 94.50000 (189) obj. 696.889 iterations 48
Cbc0038I Pass 18: (1.90 seconds) suminf. 94.50000 (189) obj. 696.889 iterations 33
Cbc0038I Pass 19: (1.93 seconds) suminf. 71.00000 (142) obj. 773.037 iterations 532
Cbc0038I Pass 20: (1.95 seconds) suminf. 69.50000 (139) obj. 773.537 iterations 252
Cbc0038I Pass 21: (1.96 seconds) suminf. 69.50000 (139) obj. 773.537 iterations 31
Cbc0038I Pass 22: (1.98 seconds) suminf. 69.50000 (139) obj. 773.537 iterations 39
Cbc0038I Pass 23: (1.99 seconds) suminf. 69.50000 (139) obj. 773.537 iterations 47
Cbc0038I Pass 24: (2.01 seconds) suminf. 69.50000 (139) obj. 773.537 iterations 44
Cbc0038I Pass 25: (2.02 seconds) suminf. 69.00000 (138) obj. 774.037 iterations 34
Cbc0038I Pass 26: (2.04 seconds) suminf. 69.00000 (138) obj. 774.037 iterations 24
Cbc0038I Pass 27: (2.06 seconds) suminf. 61.50000 (123) obj. 809.99 iterations 474
Cbc0038I Pass 28: (2.08 seconds) suminf. 60.00000 (120) obj. 810.99 iterations 241
Cbc0038I Pass 29: (2.10 seconds) suminf. 59.50000 (119) obj. 810.99 iterations 42
Cbc0038I Pass 30: (2.11 seconds) suminf. 59.00000 (118) obj. 811.49 iterations 33
Continuous objective value is 24512.5 - 0.21 seconds
Cgl0002I 62046 variables fixed
Cgl0003I 0 fixed, 44 tightened bounds, 2204 strengthened rows, 4 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 355 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 355 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 355 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 355 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 355 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 355 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 355 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 355 strengthened rows, 0 substitutions
Cgl0004I processed model has 7749 rows, 10350 columns (10158 integer (10114 of which binary)) and 53656 elements
Cbc0038I Initial state - 575 integers unsatisfied sum - 217.378
Cbc0038I Pass 1: (1.62 seconds) suminf. 154.59951 (343) obj. 27638.4 iterations 1610
Cbc0038I Pass 2: (1.64 seconds) suminf. 150.30245 (326) obj. 27640.2 iterations 273
Cbc0038I Pass 3: (1.66 seconds) suminf. 147.69308 (319) obj. 27641.4 iterations 22
Cbc0038I Pass 4: (1.67 seconds) suminf. 147.19308 (318) obj. 27641.9 iterations 11
Cbc0038I Pass 5: (1.69 seconds) suminf. 147.19308 (318) obj. 27641.9 iterations 10
Cbc0038I Pass 6: (1.70 seconds) suminf. 147.19308 (318) obj. 27641.9 iterations 13
Cbc0038I Pass 7: (1.71 seconds) suminf. 147.19308 (318) obj. 27641.9 iterations 7
Cbc0038I Pass 8: (1.74 seconds) suminf. 67.43186 (154) obj. 27736.3 iterations 621
Cbc0038I Pass 9: (1.76 seconds) suminf. 64.57084 (150) obj. 27736.3 iterations 285
Cbc0038I Pass 10: (1.77 seconds) suminf. 64.07084 (149) obj. 27736.8 iterations 20
Cbc0038I Pass 11: (1.79 seconds) suminf. 64.07084 (149) obj. 27736.8 iterations 17
Cbc0038I Pass 12: (1.81 seconds) suminf. 40.43564 (93) obj. 30810 iterations 662
Cbc0038I Pass 13: (1.83 seconds) suminf. 35.97334 (79) obj. 30809.1 iterations 310
Cbc0038I Pass 14: (1.85 seconds) suminf. 35.32090 (77) obj. 30808.5 iterations 115
Cbc0038I Pass 15: (1.86 seconds) suminf. 35.32090 (77) obj. 30808.5 iterations 13
Cbc0038I Pass 16: (1.89 seconds) suminf. 31.10628 (71) obj. 30831.4 iterations 436
Cbc0038I Pass 17: (1.91 seconds) suminf. 28.38627 (63) obj. 30831.7 iterations 264
Cbc0038I Pass 18: (1.92 seconds) suminf. 28.38627 (63) obj. 30831.7 iterations 10
Cbc0038I Pass 19: (1.95 seconds) suminf. 27.68563 (67) obj. 33850.2 iterations 499
Cbc0038I Pass 20: (1.97 seconds) suminf. 24.38695 (61) obj. 33848.9 iterations 353
Cbc0038I Pass 21: (1.98 seconds) suminf. 24.38695 (61) obj. 33848.9 iterations 15
Cbc0038I Pass 22: (2.01 seconds) suminf. 30.48628 (81) obj. 30869.8 iterations 508
Cbc0038I Pass 23: (2.03 seconds) suminf. 24.30037 (63) obj. 30868.6 iterations 402
Cbc0038I Pass 24: (2.04 seconds) suminf. 23.64792 (61) obj. 30868.6 iterations 106
Cbc0038I Pass 25: (2.06 seconds) suminf. 23.64792 (61) obj. 30868.6 iterations 11
Cbc0038I Pass 26: (2.07 seconds) suminf. 23.64792 (61) obj. 30868.6 iterations 7
Cbc0038I Pass 27: (2.09 seconds) suminf. 23.64792 (61) obj. 30868.6 iterations 7
Cbc0038I Pass 28: (2.10 seconds) suminf. 23.64792 (61) obj. 30868.6 iterations 8
Cbc0038I Pass 29: (2.13 seconds) suminf. 26.92915 (69) obj. 30885.7 iterations 500
Cbc0038I Pass 30: (2.15 seconds) suminf. 22.98162 (57) obj. 30883.7 iterations 358
Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 9441 integers at bound fixed and 63 continuous
Cbc0038I Mini branch and bound did not improve solution (2.13 seconds)
Cbc0038I After 2.41 seconds - Feasibility pump exiting - took 0.85 seconds
Cbc0031I 206 added rows had average density of 105.54854
Cbc0013I At root node, 206 cuts changed objective from 610 to 620.91644 in 10 passes
Cbc0014I Cut generator 0 (Probing) - 1641 row cuts average 2.0 elements, 0 column cuts (0 active) in 2.903 seconds - new frequency is 1
Cbc0014I Cut generator 1 (Gomory) - 1003 row cuts average 506.7 elements, 0 column cuts (0 active) in 0.518 seconds - new frequency is 1
Cbc0014I Cut generator 2 (Knapsack) - 751 row cuts average 2.0 elements, 0 column cuts (0 active) in 0.080 seconds - new frequency is 1
Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.006 seconds - new frequency is -100
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 708 row cuts average 17.6 elements, 0 column cuts (0 active) in 0.128 seconds - new frequency is 1
Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.046 seconds - new frequency is -100
Cbc0014I Cut generator 6 (TwoMirCuts) - 1300 row cuts average 46.7 elements, 0 column cuts (0 active) in 0.451 seconds - new frequency is 1
Cbc0010I After 0 nodes, 1 on tree, 1e+50 best solution, best possible 620.91644 (8.63 seconds)
Cbc0012I Integer solution of 631.71534 found by DiveCoefficient after 5804 iterations and 2 nodes (9.26 seconds)
Cbc0012I Integer solution of 625.71534 found by DiveCoefficient after 6183 iterations and 2 nodes (9.57 seconds)
Cbc0038I Full problem 7725 rows 10424 columns, reduced to 60 rows 66 columns
Cbc0012I Integer solution of 623.71534 found by RINS after 6183 iterations and 2 nodes (9.65 seconds)
Cbc0011I Exiting as integer gap of 2.7989071 less than 2000 or 0%%
Cbc0001I Search completed - best objective 623.7153428828003, took 6473 iterations and 3 nodes (10.15 seconds)
Cbc0032I Strong branching done 46 times (993 iterations), fathomed 0 nodes and fixed 0 variables
Cbc0038I Before mini branch and bound, 8851 integers at bound fixed and 52 continuous of which 1 were internal integer and 0 internal continuous
Cbc0038I Mini branch and bound did not improve solution (2.16 seconds)
Cbc0038I After 2.16 seconds - Feasibility pump exiting - took 0.63 seconds
Cbc0031I 286 added rows had average density of 62.944056
Cbc0013I At root node, 286 cuts changed objective from 24610 to 24622.081 in 10 passes
Cbc0014I Cut generator 0 (Probing) - 1922 row cuts average 2.0 elements, 0 column cuts (159 active) in 2.822 seconds - new frequency is 1
Cbc0014I Cut generator 1 (Gomory) - 1274 row cuts average 400.3 elements, 0 column cuts (0 active) in 0.708 seconds - new frequency is 1
Cbc0014I Cut generator 2 (Knapsack) - 886 row cuts average 2.0 elements, 0 column cuts (0 active) in 0.092 seconds - new frequency is 1
Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.008 seconds - new frequency is -100
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 853 row cuts average 18.3 elements, 0 column cuts (0 active) in 0.120 seconds - new frequency is 1
Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.035 seconds - new frequency is -100
Cbc0014I Cut generator 6 (TwoMirCuts) - 1710 row cuts average 55.1 elements, 0 column cuts (0 active) in 0.606 seconds - new frequency is -100
Cbc0010I After 0 nodes, 1 on tree, 1e+50 best solution, best possible 24622.081 (9.22 seconds)
Cbc0012I Integer solution of 24635.948 found by DiveCoefficient after 7043 iterations and 2 nodes (10.11 seconds)
Cbc0038I Full problem 7749 rows 10350 columns, reduced to 97 rows 104 columns
Cbc0012I Integer solution of 24631.88 found by RINS after 7043 iterations and 2 nodes (10.21 seconds)
Cbc0011I Exiting as integer gap of 9.7989071 less than 2000 or 0%%
Cbc0001I Search completed - best objective 24631.87982535435, took 7429 iterations and 3 nodes (11.05 seconds)
Cbc0032I Strong branching done 46 times (885 iterations), fathomed 0 nodes and fixed 0 variables
Cbc0035I Maximum depth 3, 0 variables fixed on reduced cost
Cuts at root node changed objective from 610 to 620.916
Probing was tried 16 times and created 2012 cuts of which 0 were active after adding rounds of cuts (2.933 seconds)
Gomory was tried 16 times and created 1015 cuts of which 0 were active after adding rounds of cuts (0.573 seconds)
Knapsack was tried 16 times and created 889 cuts of which 0 were active after adding rounds of cuts (0.120 seconds)
Clique was tried 10 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.006 seconds)
MixedIntegerRounding2 was tried 16 times and created 772 cuts of which 0 were active after adding rounds of cuts (0.202 seconds)
FlowCover was tried 10 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.046 seconds)
TwoMirCuts was tried 16 times and created 1389 cuts of which 0 were active after adding rounds of cuts (0.575 seconds)
ImplicationCuts was tried 6 times and created 637 cuts of which 0 were active after adding rounds of cuts (0.008 seconds)
Cuts at root node changed objective from 24610 to 24622.1
Probing was tried 16 times and created 2343 cuts of which 159 were active after adding rounds of cuts (2.857 seconds)
Gomory was tried 16 times and created 1308 cuts of which 0 were active after adding rounds of cuts (0.774 seconds)
Knapsack was tried 16 times and created 1113 cuts of which 0 were active after adding rounds of cuts (0.136 seconds)
Clique was tried 10 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.008 seconds)
MixedIntegerRounding2 was tried 16 times and created 1038 cuts of which 0 were active after adding rounds of cuts (0.188 seconds)
FlowCover was tried 10 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.035 seconds)
TwoMirCuts was tried 10 times and created 1710 cuts of which 0 were active after adding rounds of cuts (0.606 seconds)
ImplicationCuts was tried 6 times and created 898 cuts of which 0 were active after adding rounds of cuts (0.009 seconds)
Result - Optimal solution found (within gap tolerance)
Objective value: 623.71534288
Lower bound: 620.916
Objective value: 24631.87982535
Lower bound: 24622.081
Gap: 0.00
Enumerated nodes: 3
Total iterations: 6473
Time (CPU seconds): 10.46
Time (Wallclock seconds): 10.62
Total iterations: 7429
Time (CPU seconds): 11.34
Time (Wallclock seconds): 11.52
Total time (CPU seconds): 11.50 (Wallclock seconds): 11.72
Total time (CPU seconds): 12.37 (Wallclock seconds): 12.60
+87 -108
View File
@@ -1,154 +1,133 @@
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmp1ops1_px.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmp1ops1_px.pyomo.soln']
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmp4622w1mq.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmp4622w1mq.pyomo.soln']
Welcome to the CBC MILP Solver
Version: 2.9.9
Build Date: Aug 7 2019
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmp1ops1_px.pyomo.lp -stat=1 -solve -solu /tmp/tmp1ops1_px.pyomo.soln (default strategy 1)
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmp4622w1mq.pyomo.lp -stat=1 -solve -solu /tmp/tmp4622w1mq.pyomo.soln (default strategy 1)
seconds was changed from 1e+100 to 10200
allowableGap was changed from 1e-10 to 2000
Option for printingOptions changed from normal to all
Presolve 28199 (-94822) rows, 15531 (-47274) columns and 126932 (-441217) elements
Presolve 28387 (-94874) rows, 15575 (-47326) columns and 134926 (-433703) elements
Statistics for presolved model
Original problem has 62084 integers (61152 of which binary)
Presolved problem has 15195 integers (14771 of which binary)
==== 13834 zero objective 4 different
Original problem has 62180 integers (61152 of which binary)
Presolved problem has 15239 integers (14771 of which binary)
==== 13834 zero objective 5 different
13834 variables have objective of 0
1233 variables have objective of 1
48 variables have objective of 10
416 variables have objective of 20
==== absolute objective values 4 different
44 variables have objective of 1000
==== absolute objective values 5 different
13834 variables have objective of 0
1233 variables have objective of 1
48 variables have objective of 10
416 variables have objective of 20
==== for integers 13642 zero objective 3 different
44 variables have objective of 1000
==== for integers 13642 zero objective 4 different
13642 variables have objective of 0
1137 variables have objective of 1
416 variables have objective of 20
==== for integers absolute objective values 3 different
44 variables have objective of 1000
==== for integers absolute objective values 4 different
13642 variables have objective of 0
1137 variables have objective of 1
416 variables have objective of 20
44 variables have objective of 1000
===== end objective counts
Problem has 28199 rows, 15531 columns (1697 with objective) and 126932 elements
Problem has 28387 rows, 15575 columns (1741 with objective) and 134926 elements
There are 1649 singletons with objective
Column breakdown:
760 of type 0.0->inf, 0 of type 0.0->up, 0 of type lo->inf,
804 of type 0.0->inf, 0 of type 0.0->up, 0 of type lo->inf,
0 of type lo->up, 0 of type free, 0 of type fixed,
0 of type -inf->0.0, 0 of type -inf->up, 14771 of type 0.0->1.0
Row breakdown:
2281 of type E 0.0, 156 of type E 1.0, 208 of type E -1.0,
378 of type E other, 0 of type G 0.0, 52 of type G 1.0,
10 of type G other, 3411 of type L 0.0, 20252 of type L 1.0,
1451 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
99 of type G other, 3411 of type L 0.0, 20252 of type L 1.0,
1550 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
0 of type Free
Continuous objective value is 2592.5 - 11.74 seconds
Continuous objective value is 20592.5 - 24.71 seconds
Cgl0002I 42189 variables fixed
Cgl0003I 0 fixed, 416 tightened bounds, 21262 strengthened rows, 39927 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7087 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 3304 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1761 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 428 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 88 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 26 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 12 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 5 strengthened rows, 0 substitutions
Cgl0004I processed model has 11087 rows, 7586 columns (7250 integer (6834 of which binary)) and 64778 elements
Cbc0038I Initial state - 1148 integers unsatisfied sum - 308.884
Cbc0038I Pass 1: (21.79 seconds) suminf. 132.59090 (279) obj. 5166.99 iterations 4283
Cbc0038I Pass 2: (21.83 seconds) suminf. 115.67073 (242) obj. 5159.78 iterations 309
Cbc0038I Pass 3: (21.85 seconds) suminf. 113.67073 (238) obj. 5160.78 iterations 31
Cbc0038I Pass 4: (21.87 seconds) suminf. 113.67073 (238) obj. 5160.78 iterations 12
Cbc0038I Pass 5: (21.95 seconds) suminf. 38.72216 (89) obj. 6688.77 iterations 808
Cbc0038I Pass 6: (22.01 seconds) suminf. 36.92756 (85) obj. 6555.73 iterations 474
Cbc0038I Pass 7: (22.03 seconds) suminf. 36.92756 (85) obj. 6555.73 iterations 10
Cbc0038I Pass 8: (22.14 seconds) suminf. 24.16606 (61) obj. 8376.93 iterations 1047
Cbc0038I Pass 9: (22.23 seconds) suminf. 16.50851 (48) obj. 8704.88 iterations 674
Cbc0038I Pass 10: (22.25 seconds) suminf. 16.50851 (48) obj. 8704.88 iterations 13
Cbc0038I Pass 11: (22.27 seconds) suminf. 16.50851 (48) obj. 8704.88 iterations 3
Cbc0038I Pass 12: (22.40 seconds) suminf. 26.69535 (68) obj. 9870.32 iterations 955
Cbc0038I Pass 13: (22.50 seconds) suminf. 19.06151 (47) obj. 9797.91 iterations 677
Cbc0038I Pass 14: (22.53 seconds) suminf. 17.20639 (42) obj. 9806.96 iterations 17
Cbc0038I Pass 15: (22.55 seconds) suminf. 17.20639 (42) obj. 9806.96 iterations 3
Cbc0038I Pass 16: (22.66 seconds) suminf. 20.38749 (54) obj. 10625.8 iterations 839
Cbc0038I Pass 17: (22.75 seconds) suminf. 14.70685 (43) obj. 10596 iterations 647
Cbc0038I Pass 18: (22.78 seconds) suminf. 14.70685 (43) obj. 10596 iterations 10
Cbc0038I Pass 19: (22.80 seconds) suminf. 14.70685 (43) obj. 10596 iterations 4
Cbc0038I Pass 20: (22.89 seconds) suminf. 19.17471 (57) obj. 12932.5 iterations 775
Cbc0038I Pass 21: (22.98 seconds) suminf. 15.37252 (43) obj. 12953.2 iterations 639
Cbc0038I Pass 22: (23.00 seconds) suminf. 15.37252 (43) obj. 12953.2 iterations 4
Cbc0038I Pass 23: (23.10 seconds) suminf. 16.75837 (44) obj. 12897.3 iterations 828
Cbc0038I Pass 24: (23.21 seconds) suminf. 13.15520 (36) obj. 12961 iterations 711
Cbc0038I Pass 25: (23.23 seconds) suminf. 13.15520 (36) obj. 12961 iterations 11
Cbc0038I Pass 26: (23.40 seconds) suminf. 11.82435 (44) obj. 14112.4 iterations 1106
Cbc0038I Pass 27: (23.49 seconds) suminf. 10.72764 (34) obj. 14134.8 iterations 599
Cbc0038I Pass 28: (23.51 seconds) suminf. 10.72764 (34) obj. 14134.8 iterations 11
Cbc0038I Pass 29: (23.64 seconds) suminf. 17.99600 (56) obj. 14340.5 iterations 874
Cbc0038I Pass 30: (23.77 seconds) suminf. 14.85158 (56) obj. 14491.8 iterations 795
Cgl0003I 0 fixed, 460 tightened bounds, 21305 strengthened rows, 39902 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7082 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 3236 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1799 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 554 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 182 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 58 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 8 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1 strengthened rows, 0 substitutions
Cgl0004I processed model has 11176 rows, 7630 columns (7294 integer (6834 of which binary)) and 65662 elements
Cbc0038I Initial state - 1272 integers unsatisfied sum - 345.392
Cbc0038I Pass 1: (35.73 seconds) suminf. 113.12521 (252) obj. 23011.9 iterations 5369
Cbc0038I Pass 2: (35.85 seconds) suminf. 97.50022 (201) obj. 23201.6 iterations 870
Cbc0038I Pass 3: (35.87 seconds) suminf. 95.58058 (197) obj. 23202.6 iterations 25
Cbc0038I Pass 4: (35.89 seconds) suminf. 85.08058 (176) obj. 23213.1 iterations 57
Cbc0038I Pass 5: (35.92 seconds) suminf. 78.58058 (163) obj. 23219.6 iterations 36
Cbc0038I Pass 6: (35.94 seconds) suminf. 64.58058 (135) obj. 23233.6 iterations 97
Cbc0038I Pass 7: (35.96 seconds) suminf. 64.58058 (135) obj. 23233.6 iterations 6
Cbc0038I Pass 8: (36.08 seconds) suminf. 34.06646 (85) obj. 24847.8 iterations 1105
Cbc0038I Pass 9: (36.15 seconds) suminf. 26.58390 (62) obj. 24673.7 iterations 546
Cbc0038I Pass 10: (36.18 seconds) suminf. 26.58390 (62) obj. 24673.7 iterations 5
Cbc0038I Pass 11: (36.29 seconds) suminf. 16.54140 (51) obj. 25574.8 iterations 909
Cbc0038I Pass 12: (36.41 seconds) suminf. 10.80399 (31) obj. 25515.6 iterations 770
Cbc0038I Pass 13: (36.43 seconds) suminf. 10.80399 (31) obj. 25515.6 iterations 3
Cbc0038I Pass 14: (36.57 seconds) suminf. 19.12809 (55) obj. 26023.3 iterations 1016
Cbc0038I Pass 15: (36.66 seconds) suminf. 10.94444 (31) obj. 25923.3 iterations 649
Cbc0038I Pass 16: (36.68 seconds) suminf. 10.44444 (30) obj. 25923.8 iterations 1
Cbc0038I Pass 17: (36.70 seconds) suminf. 5.44444 (20) obj. 25926.3 iterations 31
Cbc0038I Pass 18: (36.73 seconds) suminf. 5.44444 (20) obj. 25926.3 iterations 7
Cbc0038I Pass 19: (36.78 seconds) suminf. 4.17600 (12) obj. 26246.2 iterations 331
Cbc0038I Pass 20: (36.81 seconds) suminf. 2.66667 (6) obj. 26350.4 iterations 105
Cbc0038I Pass 21: (36.83 seconds) suminf. 2.66667 (6) obj. 26350.4 iterations 16
Cbc0038I Pass 22: (36.86 seconds) suminf. 2.66667 (6) obj. 26350.4 iterations 3
Cbc0038I Pass 23: (36.88 seconds) suminf. 2.66667 (6) obj. 26350.4 iterations 7
Cbc0038I Pass 24: (37.01 seconds) suminf. 16.76409 (51) obj. 28258.2 iterations 1003
Cbc0038I Pass 25: (37.12 seconds) suminf. 13.24188 (36) obj. 28181.6 iterations 787
Cbc0038I Pass 26: (37.15 seconds) suminf. 6.74188 (23) obj. 28185.6 iterations 37
Cbc0038I Pass 27: (37.20 seconds) suminf. 6.74844 (20) obj. 28510 iterations 249
Cbc0038I Pass 28: (37.25 seconds) suminf. 4.15076 (14) obj. 28507.6 iterations 169
Cbc0038I Pass 29: (37.29 seconds) suminf. 4.09423 (10) obj. 28559.1 iterations 216
Cbc0038I Pass 30: (37.32 seconds) suminf. 4.09423 (10) obj. 28559.1 iterations 2
Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 5653 integers at bound fixed and 69 continuous of which 21 were internal integer and 0 internal continuous
Cbc0038I Full problem 11087 rows 7586 columns, reduced to 1871 rows 1255 columns
Cbc0038I Mini branch and bound did not improve solution (26.95 seconds)
Cbc0038I After 26.95 seconds - Feasibility pump exiting - took 6.14 seconds
Cbc0031I 447 added rows had average density of 32.127517
Cbc0013I At root node, 447 cuts changed objective from 2690 to 3121.695 in 20 passes
Cbc0014I Cut generator 0 (Probing) - 6559 row cuts average 2.0 elements, 0 column cuts (0 active) in 2.643 seconds - new frequency is 1
Cbc0014I Cut generator 1 (Gomory) - 2557 row cuts average 138.4 elements, 0 column cuts (0 active) in 5.190 seconds - new frequency is 1
Cbc0014I Cut generator 2 (Knapsack) - 5220 row cuts average 2.3 elements, 0 column cuts (0 active) in 0.336 seconds - new frequency is 1
Cbc0038I Before mini branch and bound, 5714 integers at bound fixed and 81 continuous of which 13 were internal integer and 0 internal continuous
Cbc0038I Mini branch and bound did not improve solution (37.33 seconds)
Cbc0038I After 37.33 seconds - Feasibility pump exiting - took 3.14 seconds
Cbc0012I Integer solution of 21710.37 found by DiveCoefficient after 96696 iterations and 0 nodes (139.21 seconds)
Cbc0031I 493 added rows had average density of 27.168357
Cbc0013I At root node, 493 cuts changed objective from 20690 to 21122.861 in 20 passes
Cbc0014I Cut generator 0 (Probing) - 5984 row cuts average 2.2 elements, 0 column cuts (1 active) in 2.579 seconds - new frequency is 1
Cbc0014I Cut generator 1 (Gomory) - 2351 row cuts average 148.1 elements, 0 column cuts (0 active) in 5.389 seconds - new frequency is 1
Cbc0014I Cut generator 2 (Knapsack) - 4692 row cuts average 2.3 elements, 0 column cuts (0 active) in 0.332 seconds - new frequency is 1
Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.328 seconds - new frequency is -100
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 3145 row cuts average 21.5 elements, 0 column cuts (0 active) in 0.380 seconds - new frequency is 1
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 2821 row cuts average 21.4 elements, 0 column cuts (0 active) in 0.354 seconds - new frequency is 1
Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.074 seconds - new frequency is -100
Cbc0014I Cut generator 6 (TwoMirCuts) - 2969 row cuts average 28.4 elements, 0 column cuts (0 active) in 2.594 seconds - new frequency is 1
Cbc0010I After 0 nodes, 1 on tree, 1e+50 best solution, best possible 3121.695 (134.65 seconds)
Cbc0010I After 100 nodes, 61 on tree, 1e+50 best solution, best possible 3121.695 (388.01 seconds)
Cbc0010I After 200 nodes, 114 on tree, 1e+50 best solution, best possible 3121.695 (548.61 seconds)
Cbc0010I After 300 nodes, 167 on tree, 1e+50 best solution, best possible 3121.695 (714.25 seconds)
Cbc0010I After 400 nodes, 219 on tree, 1e+50 best solution, best possible 3121.695 (850.98 seconds)
Cbc0010I After 500 nodes, 272 on tree, 1e+50 best solution, best possible 3121.695 (956.51 seconds)
Cbc0010I After 600 nodes, 321 on tree, 1e+50 best solution, best possible 3121.695 (1064.45 seconds)
Cbc0010I After 700 nodes, 370 on tree, 1e+50 best solution, best possible 3121.695 (1210.80 seconds)
Cbc0010I After 800 nodes, 420 on tree, 1e+50 best solution, best possible 3121.695 (1331.75 seconds)
Cbc0010I After 900 nodes, 473 on tree, 1e+50 best solution, best possible 3121.695 (1441.13 seconds)
Cbc0010I After 1000 nodes, 523 on tree, 1e+50 best solution, best possible 3121.695 (1535.55 seconds)
Cbc0010I After 1100 nodes, 621 on tree, 1e+50 best solution, best possible 3154.71 (1882.42 seconds)
Cbc0010I After 1200 nodes, 721 on tree, 1e+50 best solution, best possible 3154.71 (2048.07 seconds)
Cbc0010I After 1300 nodes, 821 on tree, 1e+50 best solution, best possible 3154.71 (2190.34 seconds)
Cbc0010I After 1400 nodes, 921 on tree, 1e+50 best solution, best possible 3154.71 (2267.84 seconds)
Cbc0010I After 1500 nodes, 1021 on tree, 1e+50 best solution, best possible 3154.71 (2330.02 seconds)
Cbc0010I After 1600 nodes, 1121 on tree, 1e+50 best solution, best possible 3154.71 (2362.29 seconds)
Cbc0010I After 1700 nodes, 1221 on tree, 1e+50 best solution, best possible 3154.71 (2375.36 seconds)
Cbc0010I After 1800 nodes, 1321 on tree, 1e+50 best solution, best possible 3154.71 (2402.68 seconds)
Cbc0010I After 1900 nodes, 1421 on tree, 1e+50 best solution, best possible 3154.71 (2419.25 seconds)
Cbc0010I After 2000 nodes, 1521 on tree, 1e+50 best solution, best possible 3154.71 (2425.78 seconds)
Cbc0004I Integer solution of 3299.5061 found after 1845451 iterations and 2030 nodes (2428.00 seconds)
Cbc0038I Full problem 11087 rows 7586 columns, reduced to 2259 rows 1474 columns
Cbc0011I Exiting as integer gap of 144.79613 less than 2000 or 0%%
Cbc0001I Search completed - best objective 3299.506146440773, took 1848260 iterations and 2031 nodes (2446.82 seconds)
Cbc0032I Strong branching done 21594 times (1847065 iterations), fathomed 0 nodes and fixed 0 variables
Cbc0035I Maximum depth 1028, 0 variables fixed on reduced cost
Cuts at root node changed objective from 2690 to 3121.7
Probing was tried 2211 times and created 139387 cuts of which 0 were active after adding rounds of cuts (21.905 seconds)
Gomory was tried 2211 times and created 8280 cuts of which 0 were active after adding rounds of cuts (67.476 seconds)
Knapsack was tried 2211 times and created 93728 cuts of which 0 were active after adding rounds of cuts (26.333 seconds)
Cbc0014I Cut generator 6 (TwoMirCuts) - 2740 row cuts average 32.6 elements, 0 column cuts (0 active) in 2.648 seconds - new frequency is 1
Cbc0011I Exiting as integer gap of 587.50832 less than 2000 or 0%%
Cbc0001I Search completed - best objective 21710.36981896341, took 96696 iterations and 0 nodes (139.23 seconds)
Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost
Cuts at root node changed objective from 20690 to 21122.9
Probing was tried 20 times and created 5984 cuts of which 1 were active after adding rounds of cuts (2.579 seconds)
Gomory was tried 20 times and created 2351 cuts of which 0 were active after adding rounds of cuts (5.389 seconds)
Knapsack was tried 20 times and created 4692 cuts of which 0 were active after adding rounds of cuts (0.332 seconds)
Clique was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.328 seconds)
MixedIntegerRounding2 was tried 2211 times and created 37351 cuts of which 0 were active after adding rounds of cuts (25.142 seconds)
MixedIntegerRounding2 was tried 20 times and created 2821 cuts of which 0 were active after adding rounds of cuts (0.354 seconds)
FlowCover was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.074 seconds)
TwoMirCuts was tried 2211 times and created 34927 cuts of which 0 were active after adding rounds of cuts (20.102 seconds)
ImplicationCuts was tried 73 times and created 35397 cuts of which 0 were active after adding rounds of cuts (0.288 seconds)
TwoMirCuts was tried 20 times and created 2740 cuts of which 0 were active after adding rounds of cuts (2.648 seconds)
Result - Optimal solution found (within gap tolerance)
Objective value: 3299.50614644
Lower bound: 3154.710
Gap: 0.05
Enumerated nodes: 2031
Total iterations: 1848260
Time (CPU seconds): 2447.82
Time (Wallclock seconds): 40349.19
Objective value: 21710.36981896
Lower bound: 21122.861
Gap: 0.03
Enumerated nodes: 0
Total iterations: 96696
Time (CPU seconds): 140.60
Time (Wallclock seconds): 140.91
Total time (CPU seconds): 2449.20 (Wallclock seconds): 40350.67
Total time (CPU seconds): 142.01 (Wallclock seconds): 142.41
+90 -60
View File
@@ -1,97 +1,127 @@
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmpg9k4n7yb.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmpg9k4n7yb.pyomo.soln']
Solver command line: ['/usr/bin/cbc', '-seconds', '10200', '-allow', '2000', '-printingOptions', 'all', '-import', '/tmp/tmp30uhrly7.pyomo.lp', '-stat=1', '-solve', '-solu', '/tmp/tmp30uhrly7.pyomo.soln']
Welcome to the CBC MILP Solver
Version: 2.9.9
Build Date: Aug 7 2019
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmpg9k4n7yb.pyomo.lp -stat=1 -solve -solu /tmp/tmpg9k4n7yb.pyomo.soln (default strategy 1)
command line - /usr/bin/cbc -seconds 10200 -allow 2000 -printingOptions all -import /tmp/tmp30uhrly7.pyomo.lp -stat=1 -solve -solu /tmp/tmp30uhrly7.pyomo.soln (default strategy 1)
seconds was changed from 1e+100 to 10200
allowableGap was changed from 1e-10 to 2000
Option for printingOptions changed from normal to all
Presolve 42174 (-75751) rows, 17808 (-39901) columns and 170470 (-545319) elements
Presolve is modifying 44 integer bounds and re-presolving
Presolve 41862 (-76927) rows, 17778 (-40027) columns and 176583 (-540886) elements
Statistics for presolved model
Original problem has 56988 integers (56160 of which binary)
Presolved problem has 17472 integers (17048 of which binary)
==== 17248 zero objective 4 different
17248 variables have objective of 0
Original problem has 57084 integers (56160 of which binary)
Presolved problem has 17442 integers (16930 of which binary)
==== 17174 zero objective 5 different
17174 variables have objective of 0
96 variables have objective of 1
48 variables have objective of 10
416 variables have objective of 20
==== absolute objective values 4 different
17248 variables have objective of 0
44 variables have objective of 1000
==== absolute objective values 5 different
17174 variables have objective of 0
96 variables have objective of 1
48 variables have objective of 10
416 variables have objective of 20
==== for integers 17056 zero objective 2 different
17056 variables have objective of 0
44 variables have objective of 1000
==== for integers 16982 zero objective 3 different
16982 variables have objective of 0
416 variables have objective of 20
==== for integers absolute objective values 2 different
17056 variables have objective of 0
44 variables have objective of 1000
==== for integers absolute objective values 3 different
16982 variables have objective of 0
416 variables have objective of 20
44 variables have objective of 1000
===== end objective counts
Problem has 42174 rows, 17808 columns (560 with objective) and 170470 elements
Problem has 41862 rows, 17778 columns (604 with objective) and 176583 elements
There are 512 singletons with objective
Column breakdown:
760 of type 0.0->inf, 0 of type 0.0->up, 0 of type lo->inf,
804 of type 0.0->inf, 44 of type 0.0->up, 0 of type lo->inf,
0 of type lo->up, 0 of type free, 0 of type fixed,
0 of type -inf->0.0, 0 of type -inf->up, 17048 of type 0.0->1.0
0 of type -inf->0.0, 0 of type -inf->up, 16930 of type 0.0->1.0
Row breakdown:
2281 of type E 0.0, 520 of type E 1.0, 208 of type E -1.0,
2325 of type E 0.0, 520 of type E 1.0, 208 of type E -1.0,
326 of type E other, 0 of type G 0.0, 52 of type G 1.0,
33 of type G other, 2270 of type L 0.0, 35028 of type L 1.0,
1456 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
107 of type G other, 2270 of type L 0.0, 34501 of type L 1.0,
1553 of type L other, 0 of type Range 0.0->1.0, 0 of type Range other,
0 of type Free
Continuous objective value is 2560 - 24.20 seconds
Cgl0002I 38773 variables fixed
Cgl0003I 0 fixed, 416 tightened bounds, 26485 strengthened rows, 49102 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 3627 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1395 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 599 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Continuous objective value is 44560 - 27.12 seconds
Cgl0002I 38891 variables fixed
Cgl0003I 0 fixed, 460 tightened bounds, 26152 strengthened rows, 48849 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 3518 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 1397 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 605 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 16 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 5 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 3 strengthened rows, 0 substitutions
Cgl0004I processed model has 9381 rows, 8734 columns (8398 integer (7982 of which binary)) and 64789 elements
Cbc0038I Initial state - 321 integers unsatisfied sum - 91.7677
Cbc0038I Pass 1: (28.38 seconds) suminf. 2.86955 (8) obj. 4945.48 iterations 1696
Cbc0038I Pass 2: (28.40 seconds) suminf. 3.40577 (10) obj. 5000.2 iterations 23
Cbc0038I Pass 3: (28.41 seconds) suminf. 2.34720 (10) obj. 5037.45 iterations 132
Cbc0038I Pass 4: (28.43 seconds) suminf. 0.68053 (6) obj. 5205.81 iterations 14
Cbc0038I Pass 5: (28.43 seconds) suminf. 0.68053 (6) obj. 5205.81 iterations 0
Cbc0038I Pass 6: (28.45 seconds) suminf. 0.66667 (2) obj. 4934.07 iterations 151
Cbc0038I Solution found of 4934.07
Cgl0004I processed model has 9404 rows, 8703 columns (8367 integer (7864 of which binary)) and 64624 elements
Cbc0038I Initial state - 446 integers unsatisfied sum - 119.977
Cbc0038I Pass 1: (35.49 seconds) suminf. 10.30843 (35) obj. 58951.9 iterations 2259
Cbc0038I Pass 2: (35.50 seconds) suminf. 3.00622 (10) obj. 58889.6 iterations 186
Cbc0038I Pass 3: (35.52 seconds) suminf. 0.66667 (2) obj. 59258.5 iterations 91
Cbc0038I Solution found of 59258.5
Cbc0038I Branch and bound needed to clear up 2 general integers
Cbc0038I Full problem 9381 rows 8734 columns, reduced to 58 rows 112 columns
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 62 rows 120 columns
Cbc0038I Mini branch and bound could not fix general integers
Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 8060 integers at bound fixed and 137 continuous of which 30 were internal integer and 0 internal continuous
Cbc0038I Full problem 9381 rows 8734 columns, reduced to 135 rows 145 columns
Cbc0038I Mini branch and bound did not improve solution (29.22 seconds)
Cbc0038I After 29.22 seconds - Feasibility pump exiting - took 1.01 seconds
Cbc0012I Integer solution of 4162.5731 found by DiveCoefficient after 0 iterations and 0 nodes (29.38 seconds)
Cbc0011I Exiting as integer gap of 1602.5731 less than 2000 or 0%%
Cbc0001I Search completed - best objective 4162.57311524356, took 0 iterations and 0 nodes (29.39 seconds)
Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost
Cuts at root node changed objective from 2560 to 2560
Probing was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Gomory was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Knapsack was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Clique was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
MixedIntegerRounding2 was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
FlowCover was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
TwoMirCuts was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Cbc0038I Before mini branch and bound, 7881 integers at bound fixed and 132 continuous of which 42 were internal integer and 0 internal continuous
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 455 rows 386 columns
Cbc0038I Mini branch and bound did not improve solution (36.38 seconds)
Cbc0038I After 36.38 seconds - Feasibility pump exiting - took 1.23 seconds
Cbc0012I Integer solution of 55029.278 found by DiveCoefficient after 0 iterations and 0 nodes (36.89 seconds)
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 603 rows 567 columns
Cbc0012I Integer solution of 51918.015 found by RINS after 0 iterations and 0 nodes (37.47 seconds)
Cbc0031I 187 added rows had average density of 77.86631
Cbc0013I At root node, 187 cuts changed objective from 44560 to 44980.528 in 20 passes
Cbc0014I Cut generator 0 (Probing) - 118 row cuts average 13.6 elements, 1 column cuts (50 active) in 0.705 seconds - new frequency is -100
Cbc0014I Cut generator 1 (Gomory) - 675 row cuts average 183.0 elements, 0 column cuts (0 active) in 2.686 seconds - new frequency is 1
Cbc0014I Cut generator 2 (Knapsack) - 24 row cuts average 14.4 elements, 0 column cuts (0 active) in 0.127 seconds - new frequency is -100
Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.100 seconds - new frequency is -100
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 1276 row cuts average 48.9 elements, 0 column cuts (0 active) in 0.366 seconds - new frequency is 1
Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.096 seconds - new frequency is -100
Cbc0014I Cut generator 6 (TwoMirCuts) - 944 row cuts average 90.7 elements, 0 column cuts (0 active) in 0.978 seconds - new frequency is 1
Cbc0010I After 0 nodes, 1 on tree, 51918.015 best solution, best possible 44980.528 (60.08 seconds)
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 1009 rows 1004 columns
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 926 rows 930 columns
Cbc0010I After 100 nodes, 63 on tree, 51918.015 best solution, best possible 44980.528 (136.65 seconds)
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 1016 rows 1009 columns
Cbc0010I After 200 nodes, 117 on tree, 51918.015 best solution, best possible 44980.528 (156.62 seconds)
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 935 rows 959 columns
Cbc0010I After 300 nodes, 165 on tree, 51918.015 best solution, best possible 44980.528 (179.26 seconds)
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 821 rows 866 columns
Cbc0010I After 400 nodes, 218 on tree, 51918.015 best solution, best possible 44980.528 (199.05 seconds)
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 861 rows 909 columns
Cbc0010I After 500 nodes, 269 on tree, 51918.015 best solution, best possible 44980.528 (219.81 seconds)
Cbc0038I Full problem 9404 rows 8703 columns, reduced to 842 rows 881 columns
Cbc0012I Integer solution of 45266.296 found by RINS after 145821 iterations and 600 nodes (242.28 seconds)
Cbc0010I After 600 nodes, 313 on tree, 45266.296 best solution, best possible 44980.528 (242.28 seconds)
Cbc0011I Exiting as integer gap of 285.76789 less than 2000 or 0%%
Cbc0001I Search completed - best objective 45266.29573234134, took 147113 iterations and 601 nodes (243.50 seconds)
Cbc0032I Strong branching done 3174 times (148138 iterations), fathomed 0 nodes and fixed 0 variables
Cbc0035I Maximum depth 116, 3 variables fixed on reduced cost
Cuts at root node changed objective from 44560 to 44980.5
Probing was tried 20 times and created 119 cuts of which 49 were active after adding rounds of cuts (0.705 seconds)
Gomory was tried 305 times and created 736 cuts of which 0 were active after adding rounds of cuts (9.070 seconds)
Knapsack was tried 20 times and created 24 cuts of which 0 were active after adding rounds of cuts (0.127 seconds)
Clique was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.100 seconds)
MixedIntegerRounding2 was tried 305 times and created 5890 cuts of which 0 were active after adding rounds of cuts (3.934 seconds)
FlowCover was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.096 seconds)
TwoMirCuts was tried 305 times and created 2080 cuts of which 0 were active after adding rounds of cuts (3.452 seconds)
ImplicationCuts was tried 30 times and created 15 cuts of which 0 were active after adding rounds of cuts (0.021 seconds)
Result - Optimal solution found (within gap tolerance)
Objective value: 4162.57311524
Lower bound: 2560.000
Gap: 0.63
Enumerated nodes: 0
Total iterations: 0
Time (CPU seconds): 29.88
Time (Wallclock seconds): 30.09
Objective value: 45266.29573234
Lower bound: 44980.528
Gap: 0.01
Enumerated nodes: 601
Total iterations: 147113
Time (CPU seconds): 244.03
Time (Wallclock seconds): 244.42
Total time (CPU seconds): 31.28 (Wallclock seconds): 31.62
Total time (CPU seconds): 246.17 (Wallclock seconds): 246.64
+12 -2
View File
@@ -31,7 +31,7 @@ bank_holidays = BankHolidays()
bank_holiday_map = {}
for bank_holiday in bank_holidays.get_holidays():
bank_holiday_map[bank_holiday['date']] = bank_holiday['title']
# see BankHolidays source file for more methods and arguments
# see BankHolidays source file for more methods and arguments
class SingleShift(object):
@@ -92,7 +92,9 @@ class RotaBuilder(object):
balance_offset_modifier=1,
ltft_balance_offset=4,
max_night_frequency=2,
max_weekend_frequency=2):
max_weekend_frequency=2,
use_previous_shifts=True,
):
print("Start time: {}".format(datetime.datetime.now()))
@@ -104,6 +106,8 @@ class RotaBuilder(object):
self.weeks_days_product = list(itertools.product(self.weeks, days))
self.use_previous_shifts = use_previous_shifts
if start_date.weekday() != 0:
raise ValueError("Start date {} must be a Mon (not a {})".format(
start_date.isoformat(), days[start_date.weekday()]))
@@ -644,6 +648,12 @@ class RotaBuilder(object):
full_time_equivalent_joined *
worker.fte_adj)
if self.use_previous_shifts:
if shift in worker.previous_shifts:
worked, allocated = worker.previous_shifts[shift]
target_shifts = target_shifts + allocated - worked
worker.shift_target_number[shift.name] = target_shifts
if shift.hard_constrain_shift:
+34 -6
View File
@@ -24,7 +24,7 @@ allow = 2000
sites = ("truro", "exeter", "torquay", "barnstaple", "plymouth")
Rota = RotaBuilder(datetime.date(2020, 9, 7),
Rota = RotaBuilder(datetime.date(2021, 3, 8),
weeks_to_rota=weeks_to_rota,
balance_offset_modifier=1,
max_weekend_frequency=2,
@@ -37,7 +37,7 @@ Rota.constraint_options["constrain_time_off_after_nights"] = True
Rota.constraint_options["balance_nights_across_sites"] = True
Rota.constraint_options["balance_blocks"] = True
Rota.constraint_options["balance_weekends"] = True
Rota.constraint_options["avoid_st1_first_month"] = True
Rota.constraint_options["avoid_st1_first_month"] = False
Rota.constraint_options["max_weekends"] = 10
Rota.constraint_options["prevent_monday_and_tuesday_after_full_weekends"] = [
"truro", "torquay", "exeter"
@@ -55,36 +55,41 @@ Rota.add_shifts(
"torquay_twilight",
12.5,
days[:4],
balance_offset=4,
assign_as_block=True),
SingleShift(("plymouth", ),
"plymouth_twilight",
12.5,
days[:5],
balance_offset=4,
workers_required=1,
constraints=["max_2_consecutive_shifts_per_week"]),
SingleShift(("exeter", ),
"weekend_exeter",
12.5,
days[4:],
balance_offset=4,
rota_on_nwds=True,
force_as_block=True),
SingleShift(("truro", ),
"weekend_truro",
12.5,
days[4:],
balance_offset=1,
balance_offset=4,
rota_on_nwds=True,
force_as_block=True),
SingleShift(("torquay", ),
"weekend_torquay",
12.5,
days[4:],
balance_offset=4,
rota_on_nwds=True,
force_as_block=True),
SingleShift(("plymouth", ),
"weekend_plymouth1",
8,
days[5:],
balance_offset=4,
workers_required=1,
rota_on_nwds=True,
force_as_block=True),
@@ -92,6 +97,7 @@ Rota.add_shifts(
"weekend_plymouth2",
8,
days[5:],
balance_offset=4,
workers_required=1,
rota_on_nwds=True,
force_as_block=True),
@@ -123,7 +129,7 @@ Rota.add_shifts(
use_test_workers = False
load_leave = True
load_leave = False
Rota.build_shifts_and_workers()
if load_leave:
@@ -192,7 +198,7 @@ else:
for row in reader:
n = n + 1
name, site, grade, fte, nwd, end_date, oop, extra = row
name, site, grade, fte, nwd, end_date, oop, twi, twi_we, night, night_we, extra = row
# Ignore trainees if fte == 0 (what are they doing here anyway)
if int(fte) < 1:
@@ -202,7 +208,28 @@ else:
end_date = end_date if end_date else None
oop = oop.split("-") if oop else None
previous_shifts = {}
if twi:
worked = twi.split(" ")[0]
allocated = twi.split(" ")[1][1:-1]
previous_shifts["{}_twilight".format(site.lower())] = (worked, allocated)
if twi_we:
worked = twi_we.split(" ")[0]
allocated = twi_we.split(" ")[1][1:-1]
previous_shifts["weekend_{}".format(site.lower())] = (worked, allocated)
if night:
worked = night.split(" ")[0]
allocated = night.split(" ")[1][1:-1]
previous_shifts["night_weekday".format(site.lower())] = (worked, allocated)
if night_we:
worked = night_we.split(" ")[0]
allocated = night_we.split(" ")[1][1:-1]
previous_shifts["night_weekend".format(site.lower())] = (worked, allocated)
leave_requests = []
work_requests = []
site_pref = 1
if load_leave:
if name not in leave:
raise ValueError(
@@ -254,7 +281,8 @@ else:
oop,
not_available_to_work=leave_requests,
work_requests=work_requests,
night_at_derriford=site_pref))
night_at_derriford=site_pref,
previous_shifts=previous_shifts))
print("Building model")
Rota.build_shifts_and_workers()
+3
View File
@@ -20,6 +20,7 @@ class Worker:
pref_not_to_work=None,
work_requests=None,
night_at_derriford=0,
previous_shifts={}
):
self.id = id
self.name = name
@@ -32,6 +33,8 @@ class Worker:
self.proportion_rota_to_work = 1
self.night_at_derriford = night_at_derriford
self.previous_shifts = previous_shifts
self.shift_target_number = defaultdict(int)
days_to_work = Rota.rota_days_length