Originally posted by: merda30esimi
Dear All,
I am trying to solve an MIP Constraint Optimisation Problem, representing an Electrical Power System. Because of its large scale we has either computation speed or Out of memory issues. We therfore move from a 4cores to an 8cores and finally to a 12cores computer with 24GB RAM.
Now we can handle our 'reduced model' with 24 GB, reaching up to 97% of memory usage.
However, despite the increase number of cores we noticed different behavior depending on the computation phase. Here below a portion of the log file to explain the matter
1) Phase1: Cores usage: 12% with 8 cores, 8% with 12 cores (1 core only working)
.........................
Probing time = 0.20 sec.
Tried aggregator 2 times.
MIP Presolve eliminated 586 rows and 1359 columns.
MIP Presolve modified 12 coefficients.
Aggregator did 4 substitutions.
Reduced MIP has 55437 rows, 162904 columns, and 302357 nonzeros.
Reduced MIP has 4892 binaries, 0 generals, 0 SOSs, and 14676 indicators.
Presolve time = 17.34 sec.
Found feasible solution after 25.69 sec. Objective = 7.6230e+011
Probing time = 0.13 sec.
Clique table members: 21.
MIP emphasis: integer feasibility.
MIP search method: dynamic search.
Parallel mode: opportunistic, using up to 2 threads.
Initializing dual steep norms . . .
2) Phase2: Cores usage: 25% with 8 cores, 8% with 16 cores (2 cores only working)
Intermediate phase
Iteration log . . .
Iteration: 1 Scaled dual infeas = 0.008000
Iteration: 7 Dual objective = -1284030499.782925
Iteration: 850 Dual objective = -1239278203.094896
Iteration: 1578 Dual objective = -1239201458.666793
Iteration: 2124 Dual objective = -1239201375.257585
Iteration: 2723 Dual objective = -1239201258.050264
Iteration: 3423 Dual objective = -1239201123.880705
Iteration: 4223 Dual objective = -1239105865.575989
Iteration: 4948 Dual objective = -1239105739.439498
Iteration: 5532 Dual objective = -1239105655.235284
Perturbation started.
Iteration: 5663 Dual objective = -1239105654.234894
Iteration: 6344 Dual objective = -1238937518.725422
Iteration: 7007 Dual objective = -1238937410.436373
Iteration: 7555 Dual objective = -1238937346.628754
Iteration: 8126 Dual objective = -1238937280.491217
Iteration: 8749 Dual objective = -1238937167.403522
Iteration: 9447 Dual objective = -1238937039.554304
Iteration: 10176 Dual objective = -1238936942.297044
Iteration: 10844 Dual objective = -1238936848.871474
Iteration: 11489 Dual objective = -1238936766.647102
Iteration: 12163 Dual objective = -1238936673.092103
Iteration: 12801 Dual objective = -1238936601.942516
Iteration: 13363 Dual objective = -1238936497.411635
Iteration: 14028 Dual objective = -1238936402.168913
Iteration: 14683 Dual objective = -1238936340.936554
Iteration: 15351 Dual objective = -1238936284.561273
Iteration: 15981 Dual objective = -1238936211.417532
Iteration: 16643 Dual objective = -1238936111.997017
Iteration: 17132 Dual objective = -1238936048.659764
Iteration: 17742 Dual objective = -1238935985.549742
Iteration: 18481 Dual objective = -1238935907.372630
Iteration: 18935 Dual objective = -1238935852.272569
Iteration: 19370 Dual objective = -1238935831.026211
Iteration: 19876 Dual objective = -1238935750.682635
Elapsed time = 11.02 sec. (20000 iterations).
Iteration: 20314 Dual objective = -1238935672.034832
Iteration: 20799 Dual objective = -1238935612.885073
Iteration: 21315 Dual objective = -1238935484.308744
Iteration: 21767 Dual objective = -1238935439.086106
Iteration: 22206 Dual objective = -1238935394.104510
Iteration: 22670 Dual objective = -1238935350.045757
Iteration: 23188 Dual objective = -1238935264.173426
Iteration: 23650 Dual objective = -1238935222.132782
Iteration: 24035 Dual objective = -1238935173.409771
Iteration: 24387 Dual objective = -1238935141.899602
Iteration: 24754 Dual objective = -1238935012.911323
Iteration: 25240 Dual objective = -1238934915.004854
Iteration: 25718 Dual objective = -1238934851.049295
Iteration: 26169 Dual objective = -1238934757.915850
Iteration: 26624 Dual objective = -1238934719.733904
Elapsed time = 21.42 sec. (27000 iterations).
Iteration: 27133 Dual objective = -1238934658.318412
Iteration: 27499 Dual objective = -1238934486.868574
Iteration: 27949 Dual objective = -1238934446.417578
Iteration: 28418 Dual objective = -1238934411.462626
Iteration: 28858 Dual objective = -1238934305.388979
Iteration: 29300 Dual objective = -1238934188.462519
Iteration: 29743 Dual objective = -1238934037.500304
Iteration: 30178 Dual objective = -1238933985.730039
Iteration: 30587 Dual objective = -1238933875.184673
Iteration: 30934 Dual objective = -1238933818.206025
Iteration: 31337 Dual objective = -1238933787.228208
Iteration: 31782 Dual objective = -1238933674.086860
Iteration: 32163 Dual objective = -1238933618.743589
Iteration: 32497 Dual objective = -1238933426.757722
Iteration: 32919 Dual objective = -1238933315.633631
Elapsed time = 32.45 sec. (33000 iterations).
Iteration: 33223 Dual objective = -1238933256.504607
Iteration: 33565 Dual objective = -1238933178.275423
Iteration: 33980 Dual objective = -1238933069.589626
Iteration: 34321 Dual objective = -1238933014.173693
Iteration: 34709 Dual objective = -1238932971.285056
Iteration: 35066 Dual objective = -1238932935.902741
Iteration: 35494 Dual objective = -1238932733.489005
Iteration: 36051 Dual objective = -1238932570.959894
Iteration: 36458 Dual objective = -1238932512.899527
Iteration: 36843 Dual objective = -1197171275.100300
Iteration: 37194 Dual objective = -1197170733.233619
Iteration: 37561 Dual objective = -1197170286.051941
Elapsed time = 43.83 sec. (38000 iterations).
Iteration: 38022 Dual objective = -1197169892.139103
Iteration: 38397 Dual objective = -1197169480.513651
Iteration: 38947 Dual objective = -477285554.295024
Iteration: 39546 Dual objective = -477285427.935321
Iteration: 40151 Dual objective = -476340762.588369
Iteration: 40835 Dual objective = -476340698.736680
Iteration: 41435 Dual objective = -474518597.717195
Iteration: 42102 Dual objective = -474518511.417632
Iteration: 42738 Dual objective = -474518437.318096
Iteration: 43306 Dual objective = -474518392.834008
Iteration: 43934 Dual objective = -474518340.668706
Iteration: 44640 Dual objective = -474518266.952559
Iteration: 45203 Dual objective = -474518173.703738
Iteration: 45797 Dual objective = -474518118.323706
Iteration: 46374 Dual objective = -474518068.647153
Iteration: 47076 Dual objective = -474185315.754157
Iteration: 47565 Dual objective = -474185282.736812
Iteration: 48126 Dual objective = -474185202.237043
Iteration: 48795 Dual objective = -472762337.134023
Iteration: 49431 Dual objective = -472762282.716635
Iteration: 49915 Dual objective = -472762231.359373
Elapsed time = 55.02 sec. (50000 iterations).
Iteration: 50632 Dual objective = -472762156.531527
Iteration: 51215 Dual objective = -472762093.043497
Iteration: 51743 Dual objective = -472761983.577297
Iteration: 52188 Dual objective = -472761909.956192
Iteration: 52669 Dual objective = -472761881.865173
Iteration: 53275 Dual objective = -472761765.533680
Iteration: 53767 Dual objective = -472761688.110148
Iteration: 54273 Dual objective = -472761672.746421
Iteration: 54697 Dual objective = -472761584.411811
Iteration: 55196 Dual objective = -472761546.087347
Iteration: 55616 Dual objective = -472761511.971044
Iteration: 56095 Dual objective = -472761488.187124
Iteration: 56665 Dual objective = -472761409.967309
Elapsed time = 65.53 sec. (57000 iterations).
Iteration: 57208 Dual objective = -472440031.074818
Iteration: 57738 Dual objective = -472439973.250320
Iteration: 58161 Dual objective = -472439880.040036
Iteration: 58596 Dual objective = -472439822.639527
Iteration: 59090 Dual objective = -472439779.186432
Iteration: 59747 Dual objective = -471335636.939909
Iteration: 60162 Dual objective = -471335616.932866
Iteration: 60580 Dual objective = -471335561.708247
Iteration: 61015 Dual objective = -471335528.446305
Iteration: 61628 Dual objective = -470677978.397196
Iteration: 62078 Dual objective = -470677905.352422
Iteration: 62593 Dual objective = -470677844.380185
Iteration: 62973 Dual objective = -470677807.816327
Iteration: 63576 Dual objective = -470677766.050818
Elapsed time = 76.61 sec. (64000 iterations).
Iteration: 64145 Dual objective = -470677750.006886
Iteration: 64604 Dual objective = -470677687.501804
Iteration: 65073 Dual objective = -470677656.403811
Iteration: 65528 Dual objective = -470677581.639561
Iteration: 66030 Dual objective = -470677453.789468
Iteration: 66369 Dual objective = -470677430.984535
Iteration: 66776 Dual objective = -470677349.501885
Iteration: 67128 Dual objective = -470677309.325360
Iteration: 67562 Dual objective = -470677206.293155
Iteration: 68081 Dual objective = -470677176.675245
Iteration: 68581 Dual objective = -470677087.389962
Iteration: 68986 Dual objective = -470677014.880281
Elapsed time = 87.70 sec. (69000 iterations).
Iteration: 69445 Dual objective = -470676756.409179
Iteration: 69781 Dual objective = -448425496.263071
Iteration: 70235 Dual objective = -448424545.649152
Iteration: 70725 Dual objective = -249550302.912931
Iteration: 71249 Dual objective = -249550189.783258
Iteration: 71923 Dual objective = -247744511.741346
Iteration: 72435 Dual objective = -247744443.020117
Iteration: 73099 Dual objective = -246889810.878958
Iteration: 73626 Dual objective = -246429249.037946
Iteration: 74159 Dual objective = -245333578.365887
Iteration: 74926 Dual objective = -206723204.604222
Iteration: 75415 Dual objective = -206669238.338307
Iteration: 75957 Dual objective = -206669156.251568
Iteration: 76433 Dual objective = -206669066.767623
Iteration: 76859 Dual objective = -206669026.665802
Elapsed time = 98.84 sec. (77000 iterations).
Iteration: 77524 Dual objective = -205883211.912465
Iteration: 78080 Dual objective = -205833961.273547
Iteration: 78702 Dual objective = -204924379.089614
Iteration: 79420 Dual objective = -204189024.766828
Iteration: 80001 Dual objective = -203320859.195666
Iteration: 80449 Dual objective = -203320618.543475
Iteration: 80973 Dual objective = 98062135.372827
Iteration: 81573 Dual objective = 327986118.333362
Iteration: 82102 Dual objective = 336815097.874144
Iteration: 82696 Dual objective = 340087242.225160
Iteration: 83158 Dual objective = 341838013.383719
Iteration: 83677 Dual objective = 352742817.164179
Iteration: 84237 Dual objective = 354217443.817579
Iteration: 84618 Dual objective = 354217612.431324
Iteration: 85027 Dual objective = 354217806.566296
Iteration: 85403 Dual objective = 354217896.491753
Iteration: 85993 Dual objective = 354217946.067616
Iteration: 86600 Dual objective = 354278951.691543
Iteration: 87096 Dual objective = 354302444.499503
Iteration: 87792 Dual objective = 354363056.691550
Iteration: 88695 Dual objective = 356863989.911453
Iteration: 88976 Dual objective = 356864039.671179
Elapsed time = 108.84 sec. (89000 iterations).
Iteration: 89530 Dual objective = 356864099.198124
Iteration: 89920 Dual objective = 357513906.370102
Iteration: 90280 Dual objective = 357594978.437404
Iteration: 90806 Dual objective = 358264326.273824
Iteration: 91414 Dual objective = 359188129.728224
Iteration: 92215 Dual objective = 367590522.119441
Iteration: 92946 Dual objective = 368150305.071456
Iteration: 93512 Dual objective = 368489175.799610
Iteration: 94014 Dual objective = 368489233.829158
Iteration: 94602 Dual objective = 369143574.684704
Iteration: 95128 Dual objective = 369213722.771754
Iteration: 95601 Dual objective = 378122480.353835
Iteration: 96154 Dual objective = 380379291.840489
Iteration: 96752 Dual objective = 380581950.533439
Iteration: 97383 Dual objective = 381019592.206809
Iteration: 97871 Dual objective = 381165366.904851
Iteration: 98360 Dual objective = 381251354.585207
Iteration: 98925 Dual objective = 382212664.553821
Iteration: 99248 Dual objective = 382212755.090891
Iteration: 99662 Dual objective = 382212880.436720
Elapsed time = 120.28 sec. (100000 iterations).
Iteration: 100056 Dual objective = 382212961.896902
Iteration: 100661 Dual objective = 382780452.151478
Iteration: 101224 Dual objective = 382912904.322507
Iteration: 101660 Dual objective = 383088864.791841
Iteration: 102330 Dual objective = 383208807.342386
Iteration: 102826 Dual objective = 383208863.225022
Iteration: 103134 Dual objective = 391852794.672942
Iteration: 103763 Dual objective = 422626079.205094
Iteration: 104218 Dual objective = 434674721.984612
Iteration: 104689 Dual objective = 671224961.341730
Iteration: 105084 Dual objective = 671570123.600178
Iteration: 105638 Dual objective = 689057133.746030
Iteration: 106087 Dual objective = 702557681.139527
Iteration: 106575 Dual objective = 710903692.122442
Iteration: 107327 Dual objective = 719092861.999936
Iteration: 107837 Dual objective = 719554487.101861
Iteration: 108572 Dual objective = 730857358.092684
Iteration: 108863 Dual objective = 1122112650.194340
Elapsed time = 130.59 sec. (109000 iterations).
Iteration: 109241 Dual objective = 1122112681.118912
Iteration: 109645 Dual objective = 1123888657.305108
Iteration: 110122 Dual objective = 1186230793.548790
Iteration: 110844 Dual objective = 1186376155.312050
Iteration: 111356 Dual objective = 1252019438.968947
Iteration: 111837 Dual objective = 1256762441.913758
Iteration: 112328 Dual objective = 1256890297.017273
Iteration: 112873 Dual objective = 1274880728.089063
Iteration: 113196 Dual objective = 1274880762.830209
Iteration: 113512 Dual objective = 1274928420.031252
Iteration: 113978 Dual objective = 1284642712.360188
Iteration: 114611 Dual objective = 1298892844.552650
Iteration: 114899 Dual objective = 1298942642.812950
Iteration: 115478 Dual objective = 1299469439.596363
Iteration: 116018 Dual objective = 1300372745.102486
Iteration: 116508 Dual objective = 1300564195.330233
Iteration: 117046 Dual objective = 1313326881.801222
Iteration: 117715 Dual objective = 1316182076.607020
Elapsed time = 140.59 sec. (118000 iterations).
Iteration: 118210 Dual objective = 1317014558.893524
Iteration: 118658 Dual objective = 1317202227.743913
Iteration: 119030 Dual objective = 1318092762.513054
Iteration: 119429 Dual objective = 1318242242.844770
Iteration: 119841 Dual objective = 1326850103.769571
Iteration: 120353 Dual objective = 1328201301.691032
Iteration: 120737 Dual objective = 1328231207.392220
Iteration: 121149 Dual objective = 1328728922.476810
Iteration: 121450 Dual objective = 1328937610.521888
Iteration: 121893 Dual objective = 1329079116.495683
Iteration: 122223 Dual objective = 1329278854.381740
Iteration: 122575 Dual objective = 1329365989.341807
Iteration: 122772 Dual objective = 1330307401.714160
Iteration: 123150 Dual objective = 1330318586.743193
Iteration: 123580 Dual objective = 1330493792.470525
Iteration: 123904 Dual objective = 1330493799.099311
Elapsed time = 151.01 sec. (124000 iterations).
Iteration: 124238 Dual objective = 1330581637.119796
Iteration: 124472 Dual objective = 1330581641.108418
Iteration: 124800 Dual objective = 1330601831.852972
Iteration: 125128 Dual objective = 1330601835.115500
Iteration: 125448 Dual objective = 1330612102.005490
Iteration: 125903 Dual objective = 1332071200.252931
Iteration: 126231 Dual objective = 1332071203.314456
Iteration: 126575 Dual objective = 1332073730.713030
Iteration: 126879 Dual objective = 1332073731.127527
Iteration: 127147 Dual objective = 1332073731.727803
Removing perturbation.
Root relaxation solution time = 157.51 sec.
3) Phase3: Cores usage: 12-24% with 8 cores, 8-16% with 12 cores (1-2 cores only working)
Nodes Cuts/
Node Left Objective IInf Best Integer Best Bound ItCnt Gap
-
0+ 0 7.62304e+011 127244 ---
-
0+ 0 8.34091e+009 127244 ---
-
0+ 0 3.95689e+009 127244 ---
-
0+ 0 3.95069e+009 127244 ---
-
0+ 0 3.77935e+009 127244 ---
0 0 1.33207e+009 659 3.77935e+009 1.33207e+009 127244 64.75%
-
0+ 0 3.52247e+009 1.33207e+009 127244 62.18%
0 0 1.34804e+009 652 3.52247e+009 Cuts: 789 133602 61.73%
0 0 1.36638e+009 617 3.52247e+009 Cuts: 727 140396 61.21%
0 0 1.38164e+009 609 3.52247e+009 Cuts: 652 146705 60.78%
-
0+ 0 2.97567e+009 1.38164e+009 146705 53.57%
Repair heuristic found nothing.
4) Phase4: Heavy duty computation, Cores usage jumps to 100% stable for both 8 and 12 cores
0 2 1.38164e+009 609 2.97567e+009 1.38206e+009 146705 53.55%
Elapsed real time = 362.63 sec. (tree size = 0.01 MB, solutions = 7)
10 11 1.41971e+009 499 2.97567e+009 1.39408e+009 152262 53.15%
Impl Bds: 377
20 21 1.58948e+009 456 2.97567e+009 1.39408e+009 189287 53.15%
Impl Bds: 1332
-
30+ 29 2.66726e+009 1.39408e+009 241459 47.73%
Impl Bds: 1073
30 31 1.61681e+009 338 2.66726e+009 1.39408e+009 241459 47.73%
Impl Bds: 184
40 41 1.70245e+009 254 2.66726e+009 1.39408e+009 273206 47.73%
Impl Bds: 429
50 48 2.00223e+009 180 2.66726e+009 1.39408e+009 401210 47.73%
Impl Bds: 480
60 58 1.75697e+009 163 2.66726e+009 1.39408e+009 410460 47.73%
70 67 1.75709e+009 154 2.66726e+009 1.39408e+009 415888 47.73%
80 75 1.93024e+009 152 2.66726e+009 1.39408e+009 416850 47.73%
90 83 1.79459e+009 168 2.66726e+009 1.39408e+009 418188 47.73%
100 94 1.75735e+009 172 2.66726e+009 1.39408e+009 418296 47.73%
Elapsed real time = 965.86 sec. (tree size = 5.68 MB, solutions = 8)
110 103 1.75735e+009 164 2.66726e+009 1.39408e+009 419940 47.73%
120 112 1.75781e+009 163 2.66726e+009 1.39408e+009 423966 47.73%
130 121 1.75781e+009 170 2.66726e+009 1.39408e+009 424411 47.73%
140 132 1.75781e+009 171 2.66726e+009 1.39408e+009 424978 47.73%
150 142 2.22989e+009 166 2.66726e+009 1.39408e+009 425961 47.73%
160 152 1.75781e+009 167 2.66726e+009 1.39408e+009 427194 47.73%
170 162 1.75781e+009 156 2.66726e+009 1.39408e+009 428424 47.73%
180 172 2.00269e+009 153 2.66726e+009 1.39408e+009 431621 47.73%
190 182 1.75925e+009 162 2.66726e+009 1.39408e+009 434779 47.73%
200 191 2.00383e+009 145 2.66726e+009 1.39408e+009 437645 47.73%
Elapsed real time = 1159.78 sec. (tree size = 8.81 MB, solutions = 8)
210 201 1.75925e+009 156 2.66726e+009 1.39408e+009 439238 47.73%
220 211 1.86205e+009 154 2.66726e+009 1.39408e+009 439323 47.73%
230 221 2.00386e+009 126 2.66726e+009 1.39408e+009 439423 47.73%
240 231 2.00388e+009 125 2.66726e+009 1.39408e+009 440930 47.73%
250 240 2.09928e+009 125 2.66726e+009 1.39408e+009 441014 47.73%
260 251 2.00388e+009 125 2.66726e+009 1.39408e+009 441111 47.73%
270 261 1.75928e+009 151 2.66726e+009 1.39408e+009 441213 47.73%
280 271 1.75928e+009 152 2.66726e+009 1.39408e+009 442229 47.73%
290 281 1.76280e+009 169 2.66726e+009 1.39408e+009 446142 47.73%
..................................................................................
My worry is that by increasing the number of Cores further, which I needed to have a suitable computation speed. Whatever the number of cores are available in the machine this would affect the Phase4 computation time. Wherease I am not able to enhance the speed during phase 1,2 and 3, so that my problem cannot be solved in due time (i.e. I accept max 7 days of running).
My question is:
Is there any option or solution to better use the CPUs during phase 1,2 and 3 ?
Thanks in advance for any help, hints or suggestion you may provide.
Andrea Mansoldo
EIRGRID
Dublin
#CPLEXOptimizers#DecisionOptimization