ILP – Random IT Utensils https://blog.adamfurmanek.pl IT, operating systems, maths, and more. Sat, 16 Dec 2023 07:51:05 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.2 ILP Part 106 — Golden waste https://blog.adamfurmanek.pl/2023/12/16/ilp-part-106/ https://blog.adamfurmanek.pl/2023/12/16/ilp-part-106/#respond Sat, 16 Dec 2023 07:51:05 +0000 https://blog.adamfurmanek.pl/?p=4927 Continue reading ILP Part 106 — Golden waste]]>

This is the one hundred and sixth part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Let’s solve Golden Waste (Złoty Odpad) riddle. We have a board with golden coins on it. One of the coins is a starting point and is numbered 1. We need to go along the blue lines and collect all the coins with the following rules:

  • we must collect a coin when we get to it
  • when collecting a coin, we can either continue straight or turn left or right; we can’t turn around (do U turn)

Let’s solve that with ILP. The idea is as follows:

  • We want to number coins from one to n (number of coins); we represent this number with a bitset (to make things faster)
  • each coin has two bitsets indicating which direction we entered this coin (up, right, bottom, left) and which direction we left
  • for each coin, we analyze all four directions and make sure that all coins on the path in that direction have either lower number (so they were collected earlier) or we entered the first coin with higher number from the correct direction

Let’s see the code:

public class Field {
	public IVariable[] DirectionIn {get;set;}
	public IVariable[] DirectionOut {get;set;}
	public IVariable[] Number {get;set;}
}

var board = new string[]{
	" X     X",
	"    X X ",
	"   XX X1",
	"X      X",
	"  XXXX  ",
	"X  XX   ",
	"    XX  ",
	"XXXX X  "
};

var numbersCount = board.SelectMany(line => line.Select(character => character)).Count(character => character != ' ');

var fields = board.Select(line => line.Select(f => f != ' ' ? new Field{
	DirectionIn = Enumerable.Range(0, 4).Select(i => solver.CreateAnonymous(Domain.BinaryInteger)).ToArray(),
	DirectionOut = Enumerable.Range(0, 4).Select(i => solver.CreateAnonymous(Domain.BinaryInteger)).ToArray(),
	Number = Enumerable.Range(0, numbersCount).Select(i => solver.CreateAnonymous(Domain.BinaryInteger)).ToArray()
} : null).ToArray()).ToArray();

for(int row=0;row<board.Length;++row){
	for(int column=0;column<board[0].Length;++column){
		if(board[row][column] != ' '){
			var thisField = fields[row][column];
			
			// If this is one, then select it
			if(board[row][column] == '1'){
				thisField.Number[0].Set<Equal>(solver.FromConstant(1));
			}
			
			// Exactly one number
			solver.Set<Equal>(solver.FromConstant(1), solver.Operation<Addition>(thisField.Number));
			
			// Cannot turn around
			for(int direction=0;direction<4;++direction){
				thisField.DirectionIn[direction].Operation<Addition>(thisField.DirectionOut[direction]).Set<LessOrEqual>(solver.FromConstant(1));
			}
			
			// Exactly one direction in
			solver.Set<Equal>(solver.FromConstant(1), solver.Operation<Addition>(thisField.DirectionIn));
			
			// Exactly one direction out
			solver.Set<Equal>(solver.FromConstant(1), solver.Operation<Addition>(thisField.DirectionOut));
			
			// Either this is last fields
			// Or there is some other field with value + 1  and input direction matching output direction
			// 0 going up, 1 going right, 2 going down, 3 going left
			var isNotLastField = thisField.Number[numbersCount-1].Operation<BinaryNegation>();
			
			Func<Field, IVariable> numberHash = f => solver.Operation<Addition>(
				Enumerable.Range(0, numbersCount).Select(p => solver.Operation<Multiplication>(f.Number[p], solver.FromConstant(p))).ToArray()
			);
			
			Func<Field, int, int, int, IVariable, IVariable> matchField = (localThis, r, c, directionIn, shouldCarryOn) => {
				if(board[r][c] != ' '){
					var thatField = fields[r][c];
					
					var isLowerNumber = solver.Operation<IsLessOrEqual>(
						numberHash(thatField),
						numberHash(localThis)
					);
					
					var isNextNumber = solver.Operation<IsEqual>(
						solver.Operation<Addition>(solver.FromConstant(1), numberHash(localThis)),
						numberHash(thatField)
					);
					
					var isDirectionInMatching = thatField.DirectionIn[directionIn];
					
					solver.Set<Equal>(
						solver.FromConstant(1),
						solver.Operation<MaterialImplication>(
							solver.Operation<Conjunction>(shouldCarryOn),
							solver.Operation<Disjunction>(
								isLowerNumber,
								solver.Operation<Conjunction>(isNextNumber, isDirectionInMatching)
							)
						)
					);
					
					return solver.Operation<Conjunction>(shouldCarryOn, isLowerNumber);
				}
				
				return shouldCarryOn;
			};
			
			IVariable shouldContinue;
			
			// Going up
			shouldContinue = thisField.DirectionOut[0].Operation<Conjunction>(isNotLastField);
			for(int row2 = row-1;row2>=0;--row2){
				shouldContinue = shouldContinue.Operation<Conjunction>(matchField(thisField, row2, column, 2, shouldContinue));
			}
			shouldContinue.Set<Equal>(solver.FromConstant(0));
			
			// Going down
			shouldContinue = thisField.DirectionOut[2].Operation<Conjunction>(isNotLastField);
			for(int row2 = row+1;row2<board.Length;++row2){
				shouldContinue = shouldContinue.Operation<Conjunction>(matchField(thisField, row2, column, 0, shouldContinue));
			}
			shouldContinue.Set<Equal>(solver.FromConstant(0));
			
			// Going left
			shouldContinue = thisField.DirectionOut[3].Operation<Conjunction>(isNotLastField);
			for(int column2=column-1;column2>=0;--column2){
				shouldContinue = shouldContinue.Operation<Conjunction>(matchField(thisField, row, column2, 1, shouldContinue));
			}
			shouldContinue.Set<Equal>(solver.FromConstant(0));
			
			// Going right
			shouldContinue = thisField.DirectionOut[1].Operation<Conjunction>(isNotLastField);
			for(int column2=column+1;column2<board[0].Length;++column2){
				shouldContinue = shouldContinue.Operation<Conjunction>(matchField(thisField, row, column2, 3, shouldContinue));
			}
			shouldContinue.Set<Equal>(solver.FromConstant(0));
		}
	}
}

// All numbers are different
for(int number=0;number<numbersCount;++number){
	solver.Operation<Addition>(fields.SelectMany(f => f).Where(f => f != null).Select(f => f.Number[number]).ToArray()).Set<Equal>(solver.FromConstant(1));
}

solver.AddGoal("goal", solver.FromConstant(0));
solver.Solve();

for(int row=0;row<board.Length;++row){
	for(int column=0;column<board.Length;++column){
		if(board[row][column] != ' '){
			var thisField = fields[row][column];
			
			for(int number=0;number<numbersCount;++number){
				if(solver.GetValue(thisField.Number[number]) > 0){
					Console.Write((number < 9 ? " " : "") + (number + 1) + " ");
				}
			}
		}else{
			Console.Write("   ");
		}
	}
	Console.WriteLine();
}

First, we define our coin class (lines 1-5). Next, we define a starting board (lines 7-16). We also count the number of coins (18) and then initialize variables (20-24).

Next, we iterate over all fields (26) and look for coins (28). We hardcode the starting point (31-34). Next, we make sure that the bitset indicating the number has exactly one value (36-37), that we can’t exit the coin to go back (to the U-turn) (39-42), and that there is exactly one input direction and output direction (44-48).

Now, we encode the main part. We first store a variable indicating whether this is the last coin to collect (53). We define a helper variable that will decode number bitset into a single integer so we can compare them easily (55-57). Finally, we encode the main function that builds the path.

The idea is: we start from some coin localThis and we check other fields along some straight line. When we spot another coin, we calculate if it has lower number (and was collected earlier) (63), or is exactly next to be collected (68-71), and that we entered from the right direction (73). We then enforce this with material implication (75-84). Finally, we return the flag indicating whether we should continue looking along this path (lines 86, 89).

We then use this function in four directions: (94-99, 101-106, 108-113, 115-120). Finally, we just make sure that all coins have different numbers (125-128) and solve the problem. Output:

Tried aggregator 3 times.
MIP Presolve eliminated 1270 rows and 609 columns.
MIP Presolve modified 33469 coefficients.
Aggregator did 895 substitutions.
Reduced MIP has 1886 rows, 1454 columns, and 32267 nonzeros.
Reduced MIP has 1454 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.06 sec. (89.01 ticks)
Probing time = 0.00 sec. (4.29 ticks)
Tried aggregator 1 time.
Reduced MIP has 1886 rows, 1454 columns, and 32267 nonzeros.
Reduced MIP has 1454 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (11.67 ticks)
Probing time = 0.00 sec. (4.28 ticks)
Clique table members: 2759.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 12 threads.
Root relaxation solution time = 0.05 sec. (52.10 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0        0.0000   508                      0.0000      874
      0     0        0.0000   481                   Cuts: 238     1192
      0     0        0.0000   580                   Cuts: 410     2048
      0     0        0.0000   532                   Cuts: 192     2580
      0     0        0.0000   660                   Cuts: 498     3396
      0     2        0.0000   263                      0.0000     3400
Elapsed time = 2.36 sec. (2430.37 ticks, tree = 0.01 MB, solutions = 0)
     25    27        0.0000   372                      0.0000     9792
    182   146        0.0000   480                      0.0000    34215
    360   218        0.0000   359                      0.0000    59248
    473   275        0.0000   382                      0.0000    86080
    630   392        0.0000   392                      0.0000   102841
    961   441    infeasible                            0.0000   127669
   1029   455    infeasible                            0.0000   146053
   1149   479        0.0000   408                      0.0000   163289
   1216   540        0.0000   440                      0.0000   176188
   1551   579    infeasible                            0.0000   232730
Elapsed time = 5.97 sec. (5824.01 ticks, tree = 0.56 MB, solutions = 0)
   1690   585    infeasible                            0.0000   289363
   1805   601        0.0000   515                      0.0000   325263
   1983   602        0.0000   477                      0.0000   373383
   2124   600        0.0000   455                      0.0000   431960
   2316   589    infeasible                            0.0000   490860
   2546   600        0.0000   570                      0.0000   544653
   2586   598        0.0000   562                      0.0000   584681
   2750   632    infeasible                            0.0000   643752
   2914   652    infeasible                            0.0000   681857
   3119   652        0.0000   679                      0.0000   725066
Elapsed time = 22.92 sec. (18464.39 ticks, tree = 1.39 MB, solutions = 0)
   3251   658        0.0000   695                      0.0000   811097
   3287   656    infeasible                            0.0000   849022
   3404   681        0.0000   528                      0.0000   907778
   3484   695    infeasible                            0.0000   930758
   3586   721        0.0000   648                      0.0000   954548
   3874   774        0.0000   588                      0.0000  1014376
   4009   807        0.0000   444                      0.0000  1049944
   4065   821        0.0000   502                      0.0000  1069917
   4327   865        0.0000   407                      0.0000  1144971
   4367   877        0.0000   521                      0.0000  1160531
Elapsed time = 39.03 sec. (29642.77 ticks, tree = 1.74 MB, solutions = 0)
   4472   910        0.0000   417                      0.0000  1190811
   4763   909    infeasible                            0.0000  1275674
   4797   921        0.0000   475                      0.0000  1295329
   4821   935        0.0000   481                      0.0000  1312840
   4857   949        0.0000   508                      0.0000  1332501
   4918   960        0.0000   520                      0.0000  1392387
   5005   997        0.0000   455                      0.0000  1432805
   5072  1020        0.0000   594                      0.0000  1448193
   5160  1040        0.0000   321                      0.0000  1479499
   5246  1048        0.0000   398                      0.0000  1504146
Elapsed time = 54.63 sec. (42147.18 ticks, tree = 2.13 MB, solutions = 0)
   5426  1124        0.0000   423                      0.0000  1544836
   5711  1181    infeasible                            0.0000  1604289
   5787  1158    infeasible                            0.0000  1631589
   5850  1169        0.0000   595                      0.0000  1655718
   5966  1183        0.0000   596                      0.0000  1695224
   6145  1204        0.0000   611                      0.0000  1770821
   6253  1242        0.0000   595                      0.0000  1814478
   6279  1244    infeasible                            0.0000  1843727
   6318  1247    infeasible                            0.0000  1878957
   6342  1249    infeasible                            0.0000  1894346
Elapsed time = 70.39 sec. (54490.95 ticks, tree = 3.57 MB, solutions = 0)
   6453  1240        0.0000   653                      0.0000  1946631
   6764  1281        0.0000   556                      0.0000  2047656
   6804  1283    infeasible                            0.0000  2063706
   6864  1299    infeasible                            0.0000  2080575
   7032  1340        0.0000   404                      0.0000  2123133
   7164  1346        0.0000   386                      0.0000  2158194
   7320  1336        0.0000   389                      0.0000  2205352
   7598  1302        0.0000   492                      0.0000  2275263
   7824  1294        0.0000   386                     -0.0000  2350430
   7831  1300        0.0000   442                     -0.0000  2352517
Elapsed time = 93.77 sec. (77852.80 ticks, tree = 58.94 MB, solutions = 0)
   7850  1311        0.0000   404                     -0.0000  2355298
   7923   969        0.0000   442                     -0.0000  2366582
   8187   689        0.0000   402                     -0.0000  2400804
   8559   412        0.0000   318                     -0.0000  2435661
   8948   389    infeasible                           -0.0000  2470993
   9576   476        0.0000   330                     -0.0000  2520604
  10159   477        0.0000   334                     -0.0000  2579870
  10555   518        0.0000   303                     -0.0000  2618541
  10930   518        0.0000   303                     -0.0000  2664466
  11282   519        0.0000   418                     -0.0000  2711235
Elapsed time = 103.23 sec. (87766.62 ticks, tree = 1.00 MB, solutions = 0)
  11651   566        0.0000   366                     -0.0000  2758926
  11693   565        0.0000   380                     -0.0000  2764222
  12058   290        0.0000   402                     -0.0000  2801170
  12633   230    infeasible                           -0.0000  2865597
  13570   230        0.0000   239                     -0.0000  2948118
  14733   263    infeasible                           -0.0000  3061474
  15820   202        0.0000   287                     -0.0000  3169807
  17003   275        0.0000   300                     -0.0000  3281567
  17989   304        0.0000   216                     -0.0000  3379704
  19041   267        0.0000   359                     -0.0000  3481728
Elapsed time = 116.88 sec. (103305.54 ticks, tree = 0.03 MB, solutions = 0)
  20430   274    infeasible                           -0.0000  3627297
  21450   423        0.0000   302                     -0.0000  3711606
  23285   375        0.0000   276                     -0.0000  3861744
  24549   281    infeasible                           -0.0000  3979235
  26136   435        0.0000   218                     -0.0000  4127636
  27561   391        0.0000   288                     -0.0000  4249779
  29100   424        0.0000   240                     -0.0000  4376829
  30874   439        0.0000   277                     -0.0000  4524167
  32176   415        0.0000   317                     -0.0000  4638570
  33981   443        0.0000   303                     -0.0000  4798347
Elapsed time = 128.17 sec. (112887.60 ticks, tree = 0.05 MB, solutions = 0)
  35594   351        0.0000   374                     -0.0000  4933169
  36777   478        0.0000   341                     -0.0000  5045144
  38466   458        0.0000   241                     -0.0000  5209098
  39471   471        0.0000   314                     -0.0000  5311307
  41132   528        0.0000   166                     -0.0000  5465492
  42639   520    infeasible                           -0.0000  5596801
  44371   393    infeasible                           -0.0000  5747683
  45828   546        0.0000   318                     -0.0000  5889722
  47025   530        0.0000   263                     -0.0000  6007087
  52571   586    infeasible                           -0.0000  6553399
Elapsed time = 142.38 sec. (125333.77 ticks, tree = 0.08 MB, solutions = 0)
  58950   670        0.0000   353                     -0.0000  7130024
  64631   643        0.0000   281                     -0.0000  7646642
  69621   603    infeasible                           -0.0000  8169867
  74350   602        0.0000   264                     -0.0000  8669095
  80366   715        0.0000   176                     -0.0000  9230184
  85904   475        0.0000   319                     -0.0000  9771470
  91692   502        0.0000   316                     -0.0000 10317244
  97439   608        0.0000   262                     -0.0000 10808574
 103409   594        0.0000   155                     -0.0000 11361920
 109112   645    infeasible                           -0.0000 11891245
Elapsed time = 186.53 sec. (163579.26 ticks, tree = 0.06 MB, solutions = 0)
 114282   994    infeasible                           -0.0000 12422478
 119356   803    infeasible                           -0.0000 12941160
 125898   915        0.0000   273                     -0.0000 13509013
 132155   881        0.0000   262                     -0.0000 14064545
 137866   886    infeasible                           -0.0000 14590510
 143707   914        0.0000   288                     -0.0000 15177172
 149235   807        0.0000   285                     -0.0000 15701530
 154911   675        0.0000   178                     -0.0000 16241618
 161882   821        0.0000   201                     -0.0000 16817652
 169771   823        0.0000   294                     -0.0000 17381212
Elapsed time = 245.55 sec. (201783.67 ticks, tree = 0.09 MB, solutions = 0)
 177104   765        0.0000   153                     -0.0000 17960080
 184942   821        0.0000   317                     -0.0000 18569902
 192554   749        0.0000   260                     -0.0000 19131939
 198295   787        0.0000   244                     -0.0000 19644341
 204161   727        0.0000   203                     -0.0000 20187350
 210163   575        0.0000   188                     -0.0000 20746953
 217540   898        0.0000   223                     -0.0000 21304646
 224070   780    infeasible                           -0.0000 21843454
 230533   820        0.0000   263                     -0.0000 22406991
 236733   779        0.0000   272                     -0.0000 22960102
Elapsed time = 300.91 sec. (240013.77 ticks, tree = 0.07 MB, solutions = 0)
 242658   745    infeasible                           -0.0000 23514500
 247652   787        0.0000   344                     -0.0000 24030942
 252764   942    infeasible                           -0.0000 24564913
 258233   961        0.0000   325                     -0.0000 25099913
 263573   874        0.0000   322                     -0.0000 25638923
 268963   864        0.0000   284                     -0.0000 26164593
 273168   887        0.0000   278                     -0.0000 26658456
 277901   886        0.0000   210                     -0.0000 27176495
 283861   956        0.0000   313                     -0.0000 27737094
 289071  1070    infeasible                           -0.0000 28251655
Elapsed time = 344.66 sec. (278234.91 ticks, tree = 0.14 MB, solutions = 0)
 293946  1036        0.0000   295                     -0.0000 28774451
 298674  1027        0.0000   270                     -0.0000 29314425
 304035   901        0.0000   291                     -0.0000 29855358
 308755  1004        0.0000   260                     -0.0000 30377899
 313952  1082        0.0000   182                     -0.0000 30884392
 319647  1011    infeasible                           -0.0000 31447232
 325025   962        0.0000   368                     -0.0000 31993586
 331144  1152    infeasible                           -0.0000 32537413
 336554  1085        0.0000   293                     -0.0000 33082843
 342745  1060        0.0000   310                     -0.0000 33644741
Elapsed time = 399.03 sec. (316477.28 ticks, tree = 0.09 MB, solutions = 0)
 348043  1070        0.0000   325                     -0.0000 34195498
 353051  1083    infeasible                           -0.0000 34733741
 357706  1092        0.0000   204                     -0.0000 35234117
 362868  1098        0.0000   396                     -0.0000 35793118
 367279  1060        0.0000   250                     -0.0000 36308791
 372233  1152        0.0000   240                     -0.0000 36828052
 377434  1040        0.0000   218                     -0.0000 37350915
 382616  1201        0.0000   283                     -0.0000 37889699
 387312  1104        0.0000   321                     -0.0000 38398280
 392225  1292        0.0000   250                     -0.0000 38920991
Elapsed time = 447.94 sec. (354693.45 ticks, tree = 0.12 MB, solutions = 0)
 397318  1139        0.0000   375                     -0.0000 39441204
 402948  1109        0.0000   301                     -0.0000 39988911
 408043  1211        0.0000   325                     -0.0000 40527949
 413033  1266    infeasible                           -0.0000 41021940
 418087  1259        0.0000   336                     -0.0000 41533403
 422935  1164        0.0000   238                     -0.0000 42063377
 427481  1148        0.0000   288                     -0.0000 42573987
 432508  1157        0.0000   310                     -0.0000 43081190
 437531  1104        0.0000   393                     -0.0000 43621012
 442498  1095    infeasible                           -0.0000 44152646
Elapsed time = 493.66 sec. (392931.47 ticks, tree = 0.11 MB, solutions = 0)
 447235  1243        0.0000   367                     -0.0000 44673781
 454167  1167        0.0000   364                     -0.0000 45252390
 459563  1358        0.0000   258                     -0.0000 45779187
 465352  1280        0.0000   276                     -0.0000 46357473
 470467  1164    infeasible                           -0.0000 46875991
 475439  1234        0.0000   351                     -0.0000 47413722
 480265  1176        0.0000   341                     -0.0000 47920454
 485190  1296        0.0000   308                     -0.0000 48445537
 489439  1203        0.0000   275                     -0.0000 48969330
 494417  1212    infeasible                           -0.0000 49473099
Elapsed time = 543.44 sec. (431141.50 ticks, tree = 0.11 MB, solutions = 0)
 499878  1134        0.0000   212                     -0.0000 50001890
 505210  1150        0.0000   348                     -0.0000 50541821
 510703  1177        0.0000   288                     -0.0000 51085904
 516296  1191        0.0000   315                     -0.0000 51627983
 522136  1340        0.0000   275                     -0.0000 52196564
 527818  1254    infeasible                           -0.0000 52747921
 533847  1184    infeasible                           -0.0000 53277168
 539496  1225        0.0000   267                     -0.0000 53838500
 545609  1258        0.0000   324                     -0.0000 54438657
 550950  1279        0.0000   239                     -0.0000 54978252
Elapsed time = 608.14 sec. (469350.48 ticks, tree = 0.11 MB, solutions = 0)
 556262  1247        0.0000   248                     -0.0000 55503690
 562223  1376        0.0000   353                     -0.0000 56086832
 567933  1384        0.0000   303                     -0.0000 56644010
 573375  1411        0.0000   201                     -0.0000 57189815
 578931  1373    infeasible                           -0.0000 57706883
 584688  1302        0.0000   337                     -0.0000 58273497
 590210  1307    infeasible                           -0.0000 58818386
 596342  1262        0.0000   400                     -0.0000 59389073
 601521  1501        0.0000   261                     -0.0000 59915960
 607666  1618        0.0000   316                     -0.0000 60463241
Elapsed time = 655.89 sec. (507553.95 ticks, tree = 0.14 MB, solutions = 0)
 613534  1464    infeasible                           -0.0000 61020365
 619827  1346    infeasible                           -0.0000 61571663
 625674  1185        0.0000   337                     -0.0000 62134994
 630902  1230    infeasible                           -0.0000 62649879
 636152  1269        0.0000   267                     -0.0000 63170593
 641404  1232    infeasible                           -0.0000 63717245
 647098  1131        0.0000   277                     -0.0000 64283791
 651991  1146        0.0000   280                     -0.0000 64792110
 657625  1102        0.0000   336                     -0.0000 65339290
 662514  1143        0.0000   288                     -0.0000 65886969
Elapsed time = 701.64 sec. (545809.44 ticks, tree = 0.10 MB, solutions = 0)
 667761   982    infeasible                           -0.0000 66435420
 672993   997    infeasible                           -0.0000 66975538
 678105   878        0.0000   333                     -0.0000 67497233
 684034   904        0.0000   243                     -0.0000 68064925
 688856  1029    infeasible                           -0.0000 68561991
 694528   996        0.0000   357                     -0.0000 69108002
 699668   949        0.0000   315                     -0.0000 69630518
 704198   991    infeasible                           -0.0000 70161775
 708775  1017        0.0000   359                     -0.0000 70646954
 713778  1124        0.0000   319                     -0.0000 71197164
Elapsed time = 753.45 sec. (584025.21 ticks, tree = 0.10 MB, solutions = 0)
 718098  1053    infeasible                           -0.0000 71697499
 722978  1157        0.0000   354                     -0.0000 72209736
 727746  1094    infeasible                           -0.0000 72707109
 732735  1208        0.0000   321                     -0.0000 73253307
 737382  1158        0.0000   262                     -0.0000 73777309
 741743  1186        0.0000   314                     -0.0000 74282073
 746089  1111        0.0000   231                     -0.0000 74770022
 750690  1071        0.0000   333                     -0.0000 75294136
 756570  1056        0.0000   183                     -0.0000 75849757
 761838   990    infeasible                           -0.0000 76384511
Elapsed time = 806.95 sec. (622255.57 ticks, tree = 0.09 MB, solutions = 0)
 766503  1047        0.0000   199                     -0.0000 76884595
 772155   973        0.0000   357                     -0.0000 77445968
 777804   905        0.0000   307                     -0.0000 78018695
 782798  1022        0.0000   255                     -0.0000 78543623
 787886   915        0.0000   354                     -0.0000 79080195
 792781   837        0.0000   207                     -0.0000 79607676
 798278   812        0.0000   288                     -0.0000 80149715
 804008   877        0.0000   352                     -0.0000 80674521
 810292   950        0.0000   221                     -0.0000 81234497
 816081  1096        0.0000   248                     -0.0000 81761078
Elapsed time = 864.78 sec. (660493.24 ticks, tree = 0.09 MB, solutions = 0)
 821608   981        0.0000   339                     -0.0000 82343536
 826874   806        0.0000   328                     -0.0000 82820634
 832016   757        0.0000   328                     -0.0000 83327447
 837482   787        0.0000   308                     -0.0000 83869680
 842139   731        0.0000   323                     -0.0000 84381411
 847060   783    infeasible                           -0.0000 84938335
 851915   664        0.0000   290                     -0.0000 85467634
 857317   674        0.0000   237                     -0.0000 85996304
 862563   625    infeasible                           -0.0000 86529643
 868267   601        0.0000   337                     -0.0000 87056256
Elapsed time = 919.34 sec. (698703.51 ticks, tree = 0.06 MB, solutions = 0)
 874538   564        0.0000   289                     -0.0000 87647117
 880183   486    infeasible                           -0.0000 88177720
 885096   474        0.0000   393                     -0.0000 88714039
 890118   478        0.0000   278                     -0.0000 89215217
 894929   452    infeasible                           -0.0000 89745753
 899775   557        0.0000   289                     -0.0000 90248578
 905044   588        0.0000   284                     -0.0000 90809349
 909687   539        0.0000   291                     -0.0000 91299572
 914621   535        0.0000   372                     -0.0000 91835448
 919578   534        0.0000   259                     -0.0000 92373542
Elapsed time = 979.02 sec. (736908.26 ticks, tree = 0.05 MB, solutions = 0)
 924284   528    infeasible                           -0.0000 92897665
 928973   614        0.0000   284                     -0.0000 93422898
 933775   525        0.0000   303                     -0.0000 93952475
 938738   533        0.0000   248                     -0.0000 94478367
 943372   431        0.0000   174                     -0.0000 94995204
 948523   447        0.0000   334                     -0.0000 95503630
 953489   585        0.0000   402                     -0.0000 96027542
 958414   528        0.0000   374                     -0.0000 96555477
 962500   423        0.0000   353                     -0.0000 97053906
 967184   482        0.0000   268                     -0.0000 97556109
Elapsed time = 1033.42 sec. (775159.19 ticks, tree = 0.05 MB, solutions = 0)
 971887   500        0.0000   316                     -0.0000 98087834
 975986   487        0.0000   300                     -0.0000 98569907
 980549   469    infeasible                           -0.0000 99091590
 985736   427    infeasible                           -0.0000 99606175
 990496   452    infeasible                           -0.0000 1.00e+008
 996024   427        0.0000   367                     -0.0000 1.01e+008
 1001487   326        0.0000   399                     -0.0000 1.01e+008
 1006410   393        0.0000   338                     -0.0000 1.02e+008
 1010756   381        0.0000   340                     -0.0000 1.02e+008
 1015858   393        0.0000   400                     -0.0000 1.03e+008
Elapsed time = 1085.41 sec. (813376.28 ticks, tree = 0.05 MB, solutions = 0)
 1021091   437        0.0000   279                     -0.0000 1.03e+008
 1027315   368        0.0000   253                     -0.0000 1.04e+008
 1032859   283        0.0000   261                     -0.0000 1.04e+008
 1037989   506        0.0000   315                     -0.0000 1.05e+008
 1043080   291        0.0000   329                     -0.0000 1.05e+008
 1048499   481        0.0000   238                     -0.0000 1.06e+008
 1054622   474    infeasible                           -0.0000 1.06e+008
 1059697   488    infeasible                           -0.0000 1.07e+008
 1065295   516        0.0000   215                     -0.0000 1.07e+008
 1070060   537        0.0000   293                     -0.0000 1.08e+008
Elapsed time = 1150.30 sec. (851586.95 ticks, tree = 0.16 MB, solutions = 0)
 1075283   516        0.0000   255                     -0.0000 1.08e+008
 1080812   392        0.0000   336                     -0.0000 1.09e+008
 1085879   298        0.0000   336                     -0.0000 1.10e+008
 1091175   558    infeasible                           -0.0000 1.10e+008
 1096144   557    infeasible                           -0.0000 1.11e+008
 1100783   505        0.0000   271                     -0.0000 1.11e+008
 1106516   471        0.0000   305                     -0.0000 1.12e+008
 1111268   484        0.0000   365                     -0.0000 1.12e+008
 1116540   569        0.0000   303                     -0.0000 1.13e+008
 1121296   601        0.0000   299                     -0.0000 1.13e+008
Elapsed time = 1210.66 sec. (889845.90 ticks, tree = 0.06 MB, solutions = 0)
 1125401   527    infeasible                           -0.0000 1.14e+008
 1129996   481        0.0000   330                     -0.0000 1.14e+008
 1133934   408        0.0000   305                     -0.0000 1.15e+008
 1138889   437    infeasible                           -0.0000 1.15e+008
 1143893   449        0.0000   220                     -0.0000 1.16e+008
 1149074   467        0.0000   364                     -0.0000 1.16e+008
 1153624   329        0.0000   352                     -0.0000 1.17e+008
 1158969   491    infeasible                           -0.0000 1.17e+008
 1163791   431    infeasible                           -0.0000 1.18e+008
 1167484   332        0.0000   318                     -0.0000 1.18e+008
Elapsed time = 1264.00 sec. (928040.04 ticks, tree = 0.26 MB, solutions = 0)
 1171268   317    infeasible                           -0.0000 1.19e+008
 1175984   329        0.0000   287                     -0.0000 1.19e+008
 1180925   323        0.0000   293                     -0.0000 1.20e+008
 1185958   242        0.0000   415                     -0.0000 1.20e+008
 1191580   223    infeasible                           -0.0000 1.21e+008
*1194993   186      integral     0        0.0000       -0.0000 1.21e+008    0.00%

Root node processing (before b&c):
  Real time             =    2.33 sec. (2407.88 ticks)
Parallel b&c, 12 threads:
  Real time             = 1294.31 sec. (947046.19 ticks)
  Sync time (average)   =  178.58 sec.
  Wait time (average)   =    0.08 sec.
                          ------------
Total (root+branch&cut) = 1296.64 sec. (949454.07 ticks)
   17                18
             4     3
          6  5     2  1
20                   19
      14  7 13 12
21        8  9
            10 11
22 16 15 23    24

]]>
https://blog.adamfurmanek.pl/2023/12/16/ilp-part-106/feed/ 0
ILP Part 103 — 600 https://blog.adamfurmanek.pl/2022/11/05/ilp-part-103/ https://blog.adamfurmanek.pl/2022/11/05/ilp-part-103/#respond Sat, 05 Nov 2022 09:00:24 +0000 https://blog.adamfurmanek.pl/?p=4738 Continue reading ILP Part 103 — 600]]>

This is the one hundred and third part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Today we’re going to solve 600. We have a squared board of nine numbers. In each cell we have one digit. We can extend each cell with one digit in the front and/or one digit at the end. Our goal is to extend numbers in a way that each row and each column sums to one hundred.

The code:

var board = new int[][]{
	new int[] { 2, 4, 9},
	new int[] { 2, 7, 3},
	new int[] { 3, 4, 3}
};

var height = board.Length;
var width = board[0].Length;

var hasPrefix = Enumerable.Range(0, height)
	.Select(row => Enumerable.Range(0, width)
		.Select(column => solver.CreateAnonymous(Domain.BinaryInteger)).ToArray()
	).ToArray();

var hasSuffix = Enumerable.Range(0, height)
	.Select(row => Enumerable.Range(0, width)
		.Select(column => solver.CreateAnonymous(Domain.BinaryInteger)).ToArray()
	).ToArray();
	
var prefix = Enumerable.Range(0, height)
	.Select(row => Enumerable.Range(0, width)
		.Select(column => solver.CreateAnonymous(Domain.PositiveOrZeroInteger).Set<LessOrEqual>(solver.FromConstant(9)).Set<GreaterOrEqual>(solver.FromConstant(1))).ToArray()
	).ToArray();

var suffix = Enumerable.Range(0, height)
	.Select(row => Enumerable.Range(0, width).Select(column => solver.CreateAnonymous(Domain.PositiveOrZeroInteger).Set<LessOrEqual>(solver.FromConstant(9))).ToArray()
	).ToArray();

var actualNumbers = Enumerable.Range(0, height)
	.Select(row => Enumerable.Range(0, width)
		.Select(column =>
			solver.Operation<Condition>(
				hasPrefix[row][column].Operation<Conjunction>(hasSuffix[row][column]),
				prefix[row][column].Operation<Multiplication>(solver.FromConstant(100)).Operation<Addition>(solver.FromConstant(board[row][column]).Operation<Multiplication>(solver.FromConstant(10))).Operation<Addition>(suffix[row][column]),
				solver.Operation<Condition>(
					hasPrefix[row][column],
					prefix[row][column].Operation<Multiplication>(solver.FromConstant(10)).Operation<Addition>(solver.FromConstant(board[row][column])),
					solver.Operation<Condition>(
						hasSuffix[row][column],
						solver.FromConstant(board[row][column]).Operation<Multiplication>(solver.FromConstant(10)).Operation<Addition>(suffix[row][column]),
						solver.FromConstant(board[row][column])
					)
				)
			)
		).ToArray()
	).ToArray();

// Sum rows
for(int row=0;row<height;++row){
	solver.Operation<Addition>(actualNumbers[row]).Set<Equal>(solver.FromConstant(100));
}

// Sum columns
for(int column=0;column<width;++column){
	solver.Operation<Addition>(Enumerable.Range(0, height).Select(row => actualNumbers[row][column]).ToArray()).Set<Equal>(solver.FromConstant(100));
}

solver.AddGoal("g", solver.FromConstant(0));
solver.Solve();

for(int row=0;row<height;++row){
	for(int column=0;column<width;++column){
		var numberValue = (int)Math.Round(solver.GetValue(actualNumbers	[row][column]));
		
		Console.Write(numberValue + "\t");
	}
	Console.WriteLine();
}

We start with creating the board in lines 1-5. Next, some helper variables in 7-8.

We then make binary flags indicating whether we extend the number or not. That’s in lines 10-18.

Next, we declare variables for the actual extensions: prefix and suffix (lines 20-27).

Now comes the main part. We calculate the real number in each cell. We check all the conditions: if we extended the number both ways, or just added the prefix, or just added the suffix, or didn’t extend at all. We then do some simple math and get the value. Lines 29-46.

Now it’s easy. We just add the condition that rows (48-51) and columns (53-56) must be equal to one hundred.

Finally, we print the solution (58-68).

Output:

Tried aggregator 4 times.
MIP Presolve eliminated 171 rows and 9 columns.
MIP Presolve modified 1359 coefficients.
Aggregator did 351 substitutions.
Reduced MIP has 735 rows, 396 columns, and 2421 nonzeros.
Reduced MIP has 270 binaries, 126 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (6.03 ticks)
Probing fixed 144 vars, tightened 211 bounds.
Probing changed sense of 27 constraints.
Probing time = 0.01 sec. (2.35 ticks)
Cover probing fixed 0 vars, tightened 161 bounds.
Tried aggregator 2 times.
MIP Presolve eliminated 441 rows and 263 columns.
MIP Presolve modified 188 coefficients.
Aggregator did 28 substitutions.
Reduced MIP has 266 rows, 105 columns, and 735 nonzeros.
Reduced MIP has 18 binaries, 87 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.01 sec. (1.86 ticks)
Probing time = 0.00 sec. (0.15 ticks)
Tried aggregator 1 time.
Reduced MIP has 266 rows, 105 columns, and 735 nonzeros.
Reduced MIP has 18 binaries, 87 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.00 sec. (0.32 ticks)
Probing time = 0.00 sec. (0.14 ticks)
Clique table members: 20.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 0.00 sec. (0.41 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0        0.0000     5                      0.0000       39
      0     0        0.0000     3                    Cuts: 35       63
      0     0        0.0000     8                     Cuts: 8       79
      0     0        0.0000    35                     Cuts: 5       92
*     0+    0                            0.0000        0.0000       92    0.00%
      0     0        cutoff              0.0000        0.0000       92    0.00%
Elapsed time = 0.19 sec. (21.83 ticks, tree = 0.00 MB, solutions = 1)

Clique cuts applied:  4
Implied bound cuts applied:  25
Zero-half cuts applied:  6
Gomory fractional cuts applied:  2

Root node processing (before b&c):
  Real time             =    0.22 sec. (21.85 ticks)
Parallel b&c, 8 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.22 sec. (21.85 ticks)
22      49      29
25      37      38
53      14      33

]]>
https://blog.adamfurmanek.pl/2022/11/05/ilp-part-103/feed/ 0
ILP Part 102 — Gamic Square https://blog.adamfurmanek.pl/2022/10/29/ilp-part-102/ https://blog.adamfurmanek.pl/2022/10/29/ilp-part-102/#respond Sat, 29 Oct 2022 08:00:47 +0000 https://blog.adamfurmanek.pl/?p=4709 Continue reading ILP Part 102 — Gamic Square]]>

This is the one hundred and second part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Today we’re going to solve Gamic Square. It’s like a magic square with a little modification. In a n by n square we put k numbers from 1 to k, so that each row, column, and diagonal containing at least two numbers has the same sum. We want to find the highest k.

Solution:

int n = 5;
IVariable k = solver.CreateAnonymous(Domain.PositiveOrZeroInteger);

IVariable[][][] board = Enumerable.Range(0, n).Select(row =>
	Enumerable.Range(0, n).Select(column => 
		Enumerable.Range(0, n*n + 1).Select(value =>
			solver.CreateAnonymous(Domain.BinaryInteger)
		).ToArray()
	).ToArray()
).ToArray();

// Make sure that only one number can be selected in each field
for(int h = 0; h < n; ++h){
	for(int w = 0; w < n; ++ w){
		solver.Set<Equal>(
			solver.FromConstant(1),
			solver.Operation<Addition>(board[h][w])
		);
	}
}

// Make sure values above k cannot be selected
for(int h = 0; h < n; ++h){
	for(int w = 0; w < n; ++ w){
		solver.Set<Equal>(
			solver.FromConstant(0),
			solver.Operation<Addition>(
				board[h][w].Select((v, i) => solver.Operation<Condition>(
					solver.Operation<IsGreaterThan>(solver.FromConstant(i), k),
					v,
					solver.FromConstant(0)
				)).ToArray()
			)
		);
	}
}

// Make sure that we select all values below k and only those
for(int v=1;v<=n*n;++v){
	var canBeSelected = solver.Operation<IsLessOrEqual>(solver.FromConstant(v), k);
	var allFieldsForNumbers = Enumerable.Range(0, n).SelectMany(row => Enumerable.Range(0, n).Select(column => board[row][column][v])).ToArray();
	solver.Set<Equal>(
		canBeSelected,
		solver.Operation<Addition>(allFieldsForNumbers)
	);
}

// Make sure sums in rows/columns/diagonals are equal if two numbers are selected
var sumPlaceholder = solver.CreateAnonymous(Domain.PositiveOrZeroInteger);
Func<IVariable[][], IVariable> getSum = fields => {
	var hasAtLeastTwo = solver.Operation<IsGreaterOrEqual>(
		solver.Operation<Addition>(fields.SelectMany(v => v.Skip(1)).ToArray()),
		solver.FromConstant(2)
	);
	var actualSum = solver.Operation<Addition>(fields.Select(field => 
		solver.Operation<Addition>(
			Enumerable.Range(0, n*n + 1).Select(i => solver.Operation<Condition>(field[i], solver.FromConstant(i), solver.FromConstant(0))).ToArray()
		)
	).ToArray());
	
	return solver.Operation<Condition>(hasAtLeastTwo, actualSum, sumPlaceholder);
};

// Rows
for(int h = 0; h < n; ++h){
	getSum(board[h]).Set<Equal>(sumPlaceholder);
}

// Columns
for(int w = 0; w < n; ++w){
	getSum(Enumerable.Range(0, n).Select(h => board[h][w]).ToArray()).Set<Equal>(sumPlaceholder);
}

// Diagonals
for(int h = 0; h < n; ++h){
	getSum(Enumerable.Range(0, n - h).Select(d => board[h + d][d]).ToArray()).Set<Equal>(sumPlaceholder);
	getSum(Enumerable.Range(0, h + 1).Select(d => board[h - d][d]).ToArray()).Set<Equal>(sumPlaceholder);
	getSum(Enumerable.Range(0, n - h).Select(d => board[h + d][n - 1 - d]).ToArray()).Set<Equal>(sumPlaceholder);
	getSum(Enumerable.Range(0, h + 1).Select(d => board[h - d][n - 1 - d]).ToArray()).Set<Equal>(sumPlaceholder);
}

var goal = k;
solver.AddGoal("goal", goal);
solver.Solve();

Console.WriteLine(solver.GetValue(k));
Console.WriteLine(solver.GetValue(sumPlaceholder));

for(int h = 0; h < n; ++h){
	for(int w = 0; w < n; ++ w){
		var had = false;
		for(int v = 0; v <= n*n; ++ v){
			if(solver.GetValue(board[h][w][v]) > 0.5){
				had = true;
				Console.Write(v + ",");
			}
		}
		if(!had){
			Console.Write(" ,");
		}
	}
	Console.WriteLine();
}

Solution works like this: for each field we have an array of n^2 + 1 flags indicating if given number was put in a field. Lines 1-10.

We make sure that given field has only one flag selected. That’s in lines 12-20.

Next, we make sure that we don’t choose numbers greater than k. This is in lines 22-37

Next, we make sure that all numbers less or equal to k are somewhere on the board. Lines 39-49.

Next, we make sure that rows, columns, and diagonals have the same sum. For rows with less than two elements, we use some sum placeholder. For other rows, we calculate the actual sum, and we make sure it’s equal to the placeholder. Since the placeholder can be anything, it’ll make sure that all sums are the same. Lines 51-92.

Next, we add the goal, and print the solution.

Output for square of size 5:

Tried aggregator 3 times.
MIP Presolve eliminated 858 rows and 694 columns.
MIP Presolve modified 2184 coefficients.
Aggregator did 4534 substitutions.
Reduced MIP has 1688 rows, 942 columns, and 18012 nonzeros.
Reduced MIP has 848 binaries, 94 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.09 sec. (47.22 ticks)
Found incumbent of value 0.000000 after 0.17 sec. (73.59 ticks)
Probing fixed 104 vars, tightened 53 bounds.
Probing time = 0.06 sec. (20.83 ticks)
Cover probing fixed 0 vars, tightened 6 bounds.
Tried aggregator 2 times.
MIP Presolve eliminated 1133 rows and 408 columns.
MIP Presolve modified 385 coefficients.
Aggregator did 53 substitutions.
Reduced MIP has 502 rows, 481 columns, and 11686 nonzeros.
Reduced MIP has 395 binaries, 86 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.05 sec. (25.59 ticks)
Probing time = 0.02 sec. (2.51 ticks)
Tried aggregator 1 time.
MIP Presolve eliminated 6 rows and 6 columns.
MIP Presolve modified 17 coefficients.
Reduced MIP has 496 rows, 475 columns, and 11644 nonzeros.
Reduced MIP has 389 binaries, 86 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (7.33 ticks)
Probing time = 0.02 sec. (2.87 ticks)
Clique table members: 2440.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 0.05 sec. (29.78 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                            0.0000   524288.0000      724     ---
      0     0   524288.0000   136        0.0000   524288.0000      724     ---
*     0+    0                            2.0000   524288.0000      870     ---
      0     0   524288.0000   133        2.0000   MIRcuts: 19      870     ---
      0     0   524288.0000   142        2.0000      Cuts: 21      989     ---
      0     0   524288.0000   135        2.0000    MIRcuts: 7     1087     ---
      0     0   524288.0000   135        2.0000      Cuts: 19     1171     ---
      0     2   524288.0000   131        2.0000   524288.0000     1171     ---
Elapsed time = 0.89 sec. (374.69 ticks, tree = 0.01 MB, solutions = 2)
     17    19   523284.2679   174        2.0000   524288.0000     6685     ---
     99    69   523542.4478   197        2.0000   524207.5411    31642     ---
    514   409   502213.1457   179        2.0000   523987.5405    74878     ---
   1088   794   515862.1518   175        2.0000   523650.5165   119719     ---
   1586  1054        cutoff              2.0000   523650.5163   170020     ---
   1730  1099   501738.5603   170        2.0000   523646.7399   208784     ---
   2058  1246   523023.2968   157        2.0000   523597.4522   258203     ---
   2240  1359   515150.2416   173        2.0000   523530.1147   288138     ---
   2724  1636       14.0000   158        2.0000   523256.2461   340029     ---
   3263  1917   523927.0000   207        2.0000   523101.7597   413986     ---
Elapsed time = 7.95 sec. (3562.92 ticks, tree = 1.54 MB, solutions = 2)
   3638   965       14.0000   112        2.0000       15.0000   458665  650.00%
   4437   266       13.0000   133        2.0000       14.0000   587802  600.00%
   5599   547       13.0000   127        2.0000       13.0000   744321  550.00%
   7022   444    infeasible              2.0000       13.0000   916153  550.00%
   8456   410       13.0000   117        2.0000       13.0000  1099210  550.00%
   9715   436       13.0000   115        2.0000       13.0000  1263354  550.00%
  11234   359       12.0000    99        2.0000       12.0000  1446146  500.00%
  12489   323    infeasible              2.0000       12.0000  1597620  500.00%
  14416   392       12.0000   103        2.0000       12.0000  1788101  500.00%
  16164   341       12.0000    83        2.0000       12.0000  1970482  500.00%
Elapsed time = 28.39 sec. (13154.20 ticks, tree = 0.08 MB, solutions = 2)
  17480   319       12.0000   128        2.0000       12.0000  2107870  500.00%
  19524   349       12.0000   104        2.0000       12.0000  2290966  500.00%
  21795   312       12.0000   117        2.0000       12.0000  2490628  500.00%
  23212   286       12.0000   121        2.0000       12.0000  2648150  500.00%
  24462   305       12.0000   138        2.0000       12.0000  2793155  500.00%
  26016   275       12.0000   154        2.0000       12.0000  2946747  500.00%
  28037   263       12.0000   147        2.0000       12.0000  3132840  500.00%
  29442   263       12.0000    93        2.0000       12.0000  3295012  500.00%
  30719   242       12.0000   117        2.0000       12.0000  3443705  500.00%
  32310   261       12.0000    98        2.0000       12.0000  3595289  500.00%
Elapsed time = 51.11 sec. (22719.65 ticks, tree = 0.08 MB, solutions = 2)
  33983   253       12.0000   127        2.0000       12.0000  3737712  500.00%
  36166   258    infeasible              2.0000       12.0000  3911389  500.00%
  38265   209    infeasible              2.0000       11.0000  4112101  450.00%
  39814   217       11.0000   125        2.0000       11.0000  4264094  450.00%
  41394   238       11.0000   102        2.0000       11.0000  4423099  450.00%
  42965   223    infeasible              2.0000       11.0000  4577896  450.00%
  44654   211       11.0000   128        2.0000       11.0000  4729960  450.00%
  46105   235       11.0000   107        2.0000       11.0000  4875686  450.00%
  47564   241       11.0000   101        2.0000       11.0000  5024712  450.00%
  49236   212       11.0000    54        2.0000       11.0000  5179911  450.00%
Elapsed time = 74.19 sec. (32287.22 ticks, tree = 0.06 MB, solutions = 2)
  51093   227       11.0000   124        2.0000       11.0000  5331562  450.00%
  53634   201       11.0000   131        2.0000       11.0000  5513015  450.00%
  55266   186       11.0000   130        2.0000       11.0000  5677433  450.00%
  57394   186       11.0000   136        2.0000       11.0000  5862302  450.00%
  58819   229    infeasible              2.0000       11.0000  6012398  450.00%
  60290   239       10.0000   118        2.0000       11.0000  6165450  450.00%
  61949   218       10.0000   130        2.0000       10.0000  6312358  400.00%
  63655   220       10.0000   156        2.0000       10.0000  6454955  400.00%
  65240   233       10.0000   113        2.0000       10.0000  6612777  400.00%
  66916   250       10.0000    94        2.0000       10.0000  6773103  400.00%
Elapsed time = 101.61 sec. (41858.60 ticks, tree = 0.06 MB, solutions = 2)
  68707   269       10.0000   107        2.0000       10.0000  6925421  400.00%
  70489   315       10.0000   124        2.0000       10.0000  7078336  400.00%
  72461   312       10.0000   117        2.0000       10.0000  7221079  400.00%
  74429   298       10.0000    63        2.0000       10.0000  7363798  400.00%
  77334   327    infeasible              2.0000       10.0000  7543604  400.00%
  79580   307    infeasible              2.0000       10.0000  7708970  400.00%
  81475   300       10.0000   122        2.0000       10.0000  7875855  400.00%
  83530   307       10.0000   114        2.0000       10.0000  8039496  400.00%
  86138   334       10.0000   121        2.0000       10.0000  8236564  400.00%
  87838   315       10.0000    94        2.0000       10.0000  8392206  400.00%
Elapsed time = 123.05 sec. (51430.85 ticks, tree = 0.06 MB, solutions = 2)
  89547   298       10.0000   156        2.0000       10.0000  8541532  400.00%
  91478   264        9.0000   136        2.0000       10.0000  8720168  400.00%
  93476   201        9.0000   116        2.0000        9.0000  8882632  350.00%
  95264   218        9.0000    70        2.0000        9.0000  9028361  350.00%
  97295   227        9.0000    69        2.0000        9.0000  9182416  350.00%
  99440   221        9.0000    77        2.0000        9.0000  9339719  350.00%
 103281   225        9.0000    98        2.0000        9.0000  9537268  350.00%
 105388   223        9.0000    93        2.0000        9.0000  9682220  350.00%
 107492   200        9.0000    93        2.0000        9.0000  9840877  350.00%
 109655   191        9.0000   113        2.0000        9.0000  9988293  350.00%
Elapsed time = 146.84 sec. (61013.45 ticks, tree = 0.07 MB, solutions = 2)
 111431   210        9.0000    94        2.0000        9.0000 10139916  350.00%
 113450   223        9.0000    84        2.0000        9.0000 10304121  350.00%
 115380   190        9.0000    98        2.0000        9.0000 10454318  350.00%
 117166   200        9.0000    74        2.0000        9.0000 10603146  350.00%
 119052   190    infeasible              2.0000        9.0000 10753915  350.00%
 120992   201    infeasible              2.0000        9.0000 10898720  350.00%
 122963   191        8.0000    97        2.0000        9.0000 11052100  350.00%
 125196   169        8.0000   133        2.0000        9.0000 11211955  350.00%
 127360   184        8.0000   102        2.0000        8.0000 11361510  300.00%
 129864   195        8.0000    79        2.0000        8.0000 11524511  300.00%
Elapsed time = 172.02 sec. (70578.63 ticks, tree = 0.04 MB, solutions = 2)
 132314   169    infeasible              2.0000        8.0000 11668534  300.00%
 134724   194    infeasible              2.0000        8.0000 11800941  300.00%
*137049   156      integral     0        8.0000        8.0000 11944477    0.00%

Cover cuts applied:  60
Implied bound cuts applied:  28
Flow cuts applied:  16
Mixed integer rounding cuts applied:  5
Gomory fractional cuts applied:  1

Root node processing (before b&c):
  Real time             =    0.92 sec. (374.38 ticks)
Parallel b&c, 8 threads:
  Real time             =  179.20 sec. (73330.72 ticks)
  Sync time (average)   =   28.96 sec.
  Wait time (average)   =    2.84 sec.
                          ------------
Total (root+branch&cut) =  180.13 sec. (73705.10 ticks)
8
13
1,8,0,4,
5,0,2,6,
0,0,0,3,
7,0,0,0,





Tried aggregator 3 times.
MIP Presolve eliminated 1841 rows and 1515 columns.
MIP Presolve modified 3930 coefficients.
Aggregator did 10262 substitutions.
Reduced MIP has 2942 rows, 1800 columns, and 37588 nonzeros.
Reduced MIP has 1682 binaries, 118 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.17 sec. (86.84 ticks)
Found incumbent of value 0.000000 after 0.30 sec. (140.46 ticks)
Probing fixed 128 vars, tightened 64 bounds.
Probing time = 0.20 sec. (94.23 ticks)
Cover probing fixed 0 vars, tightened 3 bounds.
Tried aggregator 3 times.
MIP Presolve eliminated 1474 rows and 568 columns.
MIP Presolve modified 650 coefficients.
Aggregator did 68 substitutions.
Reduced MIP has 1400 rows, 1164 columns, and 28508 nonzeros.
Reduced MIP has 1056 binaries, 108 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.14 sec. (77.00 ticks)
Probing time = 0.02 sec. (4.47 ticks)
Tried aggregator 1 time.
MIP Presolve modified 15 coefficients.
Reduced MIP has 1400 rows, 1164 columns, and 28508 nonzeros.
Reduced MIP has 1056 binaries, 108 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (11.23 ticks)
Probing time = 0.11 sec. (39.48 ticks)
Clique table members: 14757.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 0.14 sec. (96.03 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                            0.0000   524288.0000     1268     ---
      0     0   524288.0000   183        0.0000   524288.0000     1268     ---
*     0+    0                            1.0000   524288.0000     1524     ---
      0     0   524288.0000   179        1.0000   MIRcuts: 24     1524     ---
      0     0   524270.1183   229        1.0000      Cuts: 30     2463     ---
*     0+    0                            3.0000   524270.1183     3507     ---
      0     0   524170.2345   270        3.0000      Cuts: 27     3507     ---
      0     0   524170.2345   272        3.0000   MIRcuts: 13     3569     ---
      0     2   524170.2345   272        3.0000   524170.2345     3569     ---
Elapsed time = 2.72 sec. (1324.30 ticks, tree = 0.01 MB, solutions = 3)
      4     6   524157.8373   266        3.0000   524170.2345     3677     ---
     87    87   524137.5082   241        3.0000   524170.2345    13417     ---
    284   251        cutoff              3.0000   524170.2345    36382     ---
    339   281   523463.7627   245        3.0000   524170.2345    43932     ---
    593   475    infeasible              3.0000   524170.2345    68754     ---
    763   615    infeasible              3.0000   524164.3464    89484     ---
    971   773       24.0000   153        3.0000   524164.3464   110075     ---
   1144   872       24.0000   180        3.0000   524164.3464   124445     ---
   1376  1030       24.0000   211        3.0000   524164.3464   155686     ---
   2071  1351       24.0000   196        3.0000   524090.5529   240453     ---
Elapsed time = 9.05 sec. (4790.43 ticks, tree = 12.27 MB, solutions = 3)
*  3352+ 1465                            4.0000       24.0000   330280  500.00%
   3352  1466       24.0000   242        4.0000       24.0000   330280  500.00%
   3360  1468       23.9990   250        4.0000       24.0000   336696  500.00%
   3607   880    infeasible              4.0000       24.0000   371032  500.00%
   3897   688       23.0000   225        4.0000       24.0000   457598  500.00%
   4162   692       23.9460   233        4.0000       24.0000   534236  500.00%
   4394   595    infeasible              4.0000       24.0000   611691  500.00%
   4686   406       20.0000   146        4.0000       23.9824   703988  499.56%
   5052   398       23.0000   135        4.0000       23.0000   799571  475.00%
   5609   477    infeasible              4.0000       23.0000   908157  475.00%
   6024   342    infeasible              4.0000       22.0000  1007258  450.00%
Elapsed time = 28.56 sec. (16120.57 ticks, tree = 0.16 MB, solutions = 4)
   6490   398    infeasible              4.0000       22.0000  1118473  450.00%
   6940   380       22.0000   106        4.0000       22.0000  1219115  450.00%
   7356   362       21.0000   223        4.0000       22.0000  1302026  450.00%
   8193   508       21.0000   127        4.0000       21.0000  1449821  425.00%
   9316   639       21.0000   118        4.0000       21.0000  1605331  425.00%
   9616   519       21.0000   119        4.0000       21.0000  1669789  425.00%
  10492   566    infeasible              4.0000       21.0000  1783765  425.00%
  11805   691    infeasible              4.0000       21.0000  1950477  425.00%
  12364   893       21.0000   198        4.0000       21.0000  2018407  425.00%
  13726   937       20.0000   102        4.0000       21.0000  2186002  425.00%
Elapsed time = 45.30 sec. (25765.39 ticks, tree = 0.89 MB, solutions = 4)
  13966   963       20.0000   116        4.0000       21.0000  2226602  425.00%
  14997   562       20.0000   137        4.0000       21.0000  2327817  425.00%
  16076   486       20.0000   108        4.0000       21.0000  2455518  425.00%
  17587   432       20.0000   160        4.0000       20.0000  2609301  400.00%
  19169   592       19.0000   113        4.0000       20.0000  2775515  400.00%
  20583   712       20.0000   104        4.0000       20.0000  2905998  400.00%
  22035   652       20.0000    89        4.0000       20.0000  3034961  400.00%
  22606   628    infeasible              4.0000       20.0000  3084289  400.00%
  24038   575       20.0000    94        4.0000       20.0000  3221793  400.00%
  25564   600       19.0000    88        4.0000       20.0000  3387755  400.00%
Elapsed time = 63.44 sec. (35378.13 ticks, tree = 0.47 MB, solutions = 4)
  27276   575       20.0000    93        4.0000       20.0000  3560654  400.00%
  28233   615       20.0000    88        4.0000       20.0000  3688549  400.00%
  28977   490    infeasible              4.0000       20.0000  3793918  400.00%
  29483   483       19.0000   113        4.0000       20.0000  3863059  400.00%
  29558   480       19.0000   149        4.0000       20.0000  3882211  400.00%
  30110   519       19.0000   111        4.0000       19.0000  3963952  375.00%
  31275   609       19.0000   123        4.0000       19.0000  4085494  375.00%
  32986   703    infeasible              4.0000       19.0000  4276527  375.00%
  34500   843       19.0000    91        4.0000       19.0000  4445232  375.00%
  34992   848       19.0000    90        4.0000       19.0000  4506480  375.00%
Elapsed time = 81.13 sec. (45088.97 ticks, tree = 1.08 MB, solutions = 4)
  36268   795    infeasible              4.0000       19.0000  4665262  375.00%
  37845   715       19.0000   133        4.0000       19.0000  4825439  375.00%
  39464   769       19.0000   121        4.0000       19.0000  4977119  375.00%
  40427   739       19.0000   129        4.0000       19.0000  5061373  375.00%
  40895   722       19.0000    91        4.0000       19.0000  5110101  375.00%
  41430   731       19.0000    89        4.0000       19.0000  5163499  375.00%
  42645   694    infeasible              4.0000       19.0000  5274443  375.00%
  44342   718       19.0000   138        4.0000       19.0000  5446555  375.00%
  45911   734       19.0000   116        4.0000       19.0000  5589629  375.00%
  47860   659    infeasible              4.0000       19.0000  5757021  375.00%
Elapsed time = 99.81 sec. (54713.41 ticks, tree = 0.68 MB, solutions = 4)
  48251   615    infeasible              4.0000       19.0000  5822622  375.00%
  48740   551       19.0000   104        4.0000       19.0000  5887906  375.00%
  49872   496       19.0000   127        4.0000       19.0000  6011931  375.00%
  51305   414       19.0000   153        4.0000       19.0000  6162107  375.00%
  52435   318       19.0000   134        4.0000       19.0000  6292010  375.00%
  53047   288       19.0000   183        4.0000       19.0000  6379571  375.00%
  53266   309       19.0000   190        4.0000       19.0000  6431475  375.00%
  53976   299       19.0000   171        4.0000       19.0000  6560739  375.00%
  54833   426       19.0000   130        4.0000       19.0000  6691268  375.00%
  55787   543       19.0000   103        4.0000       19.0000  6815680  375.00%
Elapsed time = 118.20 sec. (64709.97 ticks, tree = 0.48 MB, solutions = 4)
  56489   625    infeasible              4.0000       19.0000  6918565  375.00%
  57684   759    infeasible              4.0000       19.0000  7056611  375.00%
  58206   743       19.0000   147        4.0000       19.0000  7132301  375.00%
  58902   758       19.0000   198        4.0000       19.0000  7224399  375.00%
  59385   769       18.0000   129        4.0000       19.0000  7309059  375.00%
  60132   796    infeasible              4.0000       19.0000  7412772  375.00%
  61435   939    infeasible              4.0000       19.0000  7574894  375.00%
  62348   930       19.0000   134        4.0000       19.0000  7704864  375.00%
  62688   947       19.0000   140        4.0000       19.0000  7779055  375.00%
  63071  1040    infeasible              4.0000       19.0000  7834588  375.00%
Elapsed time = 135.49 sec. (74327.03 ticks, tree = 1.14 MB, solutions = 4)
  64905  1198    infeasible              4.0000       19.0000  7971525  375.00%
  66788  1173    infeasible              4.0000       19.0000  8121278  375.00%
  67957  1173       19.0000    76        4.0000       19.0000  8228791  375.00%
  68888  1181       19.0000   137        4.0000       19.0000  8330391  375.00%
  69851  1260    infeasible              4.0000       19.0000  8480221  375.00%
  70846  1389    infeasible              4.0000       19.0000  8623438  375.00%
  71810  1484       19.0000   139        4.0000       19.0000  8769341  375.00%
  72044  1518       17.0000   118        4.0000       19.0000  8827604  375.00%
  72845  1803    infeasible              4.0000       19.0000  8957999  375.00%
  73483  1884       19.0000   138        4.0000       19.0000  9057367  375.00%
Elapsed time = 154.02 sec. (83987.21 ticks, tree = 3.13 MB, solutions = 4)
  74075  1957    infeasible              4.0000       19.0000  9151702  375.00%
  75329  2026    infeasible              4.0000       19.0000  9298144  375.00%
  76593  2091       19.0000   111        4.0000       19.0000  9425811  375.00%
  77133  2099    infeasible              4.0000       19.0000  9491916  375.00%
  78421  2057       15.0000   132        4.0000       19.0000  9617074  375.00%
  79644  2172    infeasible              4.0000       19.0000  9744275  375.00%
  81487  2207       19.0000   124        4.0000       19.0000  9901886  375.00%
  82708  2149       19.0000   130        4.0000       19.0000 10016655  375.00%
  83465  2115       19.0000   114        4.0000       19.0000 10100174  375.00%
  87674  2209       13.0000   158        4.0000       19.0000 10567543  375.00%
Elapsed time = 177.20 sec. (96475.80 ticks, tree = 6.20 MB, solutions = 4)
  90340  2324       17.0000   142        4.0000       19.0000 10953198  375.00%
  93635  2548       17.8426   125        4.0000       19.0000 11391460  375.00%
  97170  2857       19.0000   135        4.0000       19.0000 11841353  375.00%
 100672  3092    infeasible              4.0000       19.0000 12332133  375.00%
 103851  3164       19.0000   117        4.0000       19.0000 12774743  375.00%
 106448  3260       19.0000   164        4.0000       19.0000 13163752  375.00%
 110676  3337       19.0000   117        4.0000       19.0000 13551707  375.00%
 117218  3353       19.0000    64        4.0000       19.0000 14072723  375.00%
 123002  3531       19.0000   145        4.0000       19.0000 14485739  375.00%
 129721  3239    infeasible              4.0000       19.0000 15018685  375.00%
Elapsed time = 249.67 sec. (134763.06 ticks, tree = 17.45 MB, solutions = 4)
 132523  3236       19.0000   104        4.0000       19.0000 15445913  375.00%
 135217  3260    infeasible              4.0000       19.0000 15869864  375.00%
 137666  3241       19.0000   198        4.0000       19.0000 16243710  375.00%
 141131  3288       19.0000   116        4.0000       19.0000 16711033  375.00%
 143237  2920       18.0000   148        4.0000       18.0000 17062768  350.00%
 145514  3274    infeasible              4.0000       18.0000 17455352  350.00%
 147904  3910       18.0000   148        4.0000       18.0000 17865205  350.00%
 150283  4303    infeasible              4.0000       18.0000 18270878  350.00%
 152449  4581    infeasible              4.0000       18.0000 18667982  350.00%
 154557  4814    infeasible              4.0000       18.0000 19063929  350.00%
Elapsed time = 322.72 sec. (173012.93 ticks, tree = 36.99 MB, solutions = 4)
 157366  4833       18.0000   120        4.0000       18.0000 19478452  350.00%
 159466  5079    infeasible              4.0000       18.0000 19848260  350.00%
 161709  5274       15.0000   109        4.0000       18.0000 20213797  350.00%
 163652  5526    infeasible              4.0000       18.0000 20580386  350.00%
 165772  5692    infeasible              4.0000       18.0000 20995623  350.00%
 168421  5735       18.0000   108        4.0000       18.0000 21389771  350.00%
 170937  5780    infeasible              4.0000       18.0000 21768728  350.00%
 173496  5726    infeasible              4.0000       18.0000 22155980  350.00%
 176390  5822       18.0000   124        4.0000       18.0000 22590261  350.00%
 179165  5823       18.0000   114        4.0000       18.0000 23017427  350.00%
Elapsed time = 393.99 sec. (211315.96 ticks, tree = 50.23 MB, solutions = 4)
 182318  5855       18.0000   110        4.0000       18.0000 23452667  350.00%
 184951  5795       18.0000   142        4.0000       18.0000 23807355  350.00%
 186998  5774       18.0000   129        4.0000       18.0000 24163167  350.00%
 189178  5798    infeasible              4.0000       18.0000 24573271  350.00%
 191707  5821       18.0000   144        4.0000       18.0000 24990590  350.00%
 194045  5831       18.0000   120        4.0000       18.0000 25380063  350.00%
 196224  5781    infeasible              4.0000       18.0000 25732238  350.00%
 198936  5820       18.0000   226        4.0000       18.0000 26110907  350.00%
 201697  5857       18.0000   109        4.0000       18.0000 26480673  350.00%
 203955  5830    infeasible              4.0000       18.0000 26868510  350.00%
Elapsed time = 466.44 sec. (249687.93 ticks, tree = 50.46 MB, solutions = 4)
 206497  5846       18.0000   115        4.0000       18.0000 27267572  350.00%
 209482  5803       18.0000   103        4.0000       18.0000 27701754  350.00%
 211461  5863    infeasible              4.0000       18.0000 28043241  350.00%
 214298  5913       18.0000   109        4.0000       18.0000 28449202  350.00%
 217916  5899       18.0000   110        4.0000       18.0000 28874150  350.00%
 220255  5875    infeasible              4.0000       18.0000 29217367  350.00%
 222920  5932    infeasible              4.0000       18.0000 29586366  350.00%
 225528  5870       18.0000    88        4.0000       18.0000 29950434  350.00%
 228500  5871    infeasible              4.0000       18.0000 30323004  350.00%
 231422  5846    infeasible              4.0000       18.0000 30709261  350.00%
Elapsed time = 545.92 sec. (288125.55 ticks, tree = 50.77 MB, solutions = 4)
 233693  5833    infeasible              4.0000       18.0000 31082035  350.00%
 236884  5831       18.0000   142        4.0000       18.0000 31495520  350.00%
 239753  5856    infeasible              4.0000       18.0000 31892031  350.00%
 242094  5838       18.0000   134        4.0000       18.0000 32251807  350.00%
 244316  5856       18.0000   164        4.0000       18.0000 32635014  350.00%
 246646  5895       18.0000   123        4.0000       18.0000 33010743  350.00%
 249529  5882       18.0000   147        4.0000       18.0000 33407241  350.00%
 252923  5843       18.0000   160        4.0000       18.0000 33814758  350.00%
 255335  5807       18.0000   113        4.0000       18.0000 34157709  350.00%
 257770  5600       17.0000   133        4.0000       17.0000 34543943  325.00%
Elapsed time = 620.80 sec. (326419.30 ticks, tree = 48.76 MB, solutions = 4)
 259802  5576    infeasible              4.0000       17.0000 34946903  325.00%
 261683  5695       17.0000   139        4.0000       17.0000 35302204  325.00%
 263913  5857       17.0000   123        4.0000       17.0000 35663717  325.00%
 266427  5970    infeasible              4.0000       17.0000 36068043  325.00%
 268127  6087       17.0000   134        4.0000       17.0000 36392725  325.00%
 270429  6213    infeasible              4.0000       17.0000 36768959  325.00%
 272624  6281    infeasible              4.0000       17.0000 37133792  325.00%
 274779  6454       17.0000   130        4.0000       17.0000 37514765  325.00%
 276928  6578       17.0000   131        4.0000       17.0000 37883845  325.00%
 279444  6834        cutoff              4.0000       17.0000 38293321  325.00%
Elapsed time = 695.83 sec. (364669.29 ticks, tree = 67.76 MB, solutions = 4)
 281321  6882       17.0000   174        4.0000       17.0000 38653735  325.00%
 282973  6962       17.0000   168        4.0000       17.0000 38995393  325.00%
 284862  7152       16.4706   117        4.0000       17.0000 39358883  325.00%
 287668  7314       16.0000    95        4.0000       17.0000 39772072  325.00%
 289438  7502    infeasible              4.0000       17.0000 40112541  325.00%
 291508  7632       14.0000   104        4.0000       17.0000 40467863  325.00%
 293541  7899    infeasible              4.0000       17.0000 40832639  325.00%
 295710  7898       17.0000   164        4.0000       17.0000 41183938  325.00%
 298007  7863       17.0000   217        4.0000       17.0000 41553007  325.00%
 300164  7960       17.0000    85        4.0000       17.0000 41911450  325.00%
Elapsed time = 769.44 sec. (402965.95 ticks, tree = 85.88 MB, solutions = 4)
 302331  7983    infeasible              4.0000       17.0000 42276137  325.00%
 304879  8030       17.0000   114        4.0000       17.0000 42652035  325.00%
 307369  8021       17.0000   122        4.0000       17.0000 43014216  325.00%
 309444  8122       17.0000   147        4.0000       17.0000 43375831  325.00%
 311424  8138       17.0000   149        4.0000       17.0000 43712618  325.00%
 313540  8135       17.0000   102        4.0000       17.0000 44062047  325.00%
 316158  8127       17.0000   109        4.0000       17.0000 44421569  325.00%
 319165  8148       17.0000   157        4.0000       17.0000 44798373  325.00%
 321876  8159       17.0000   115        4.0000       17.0000 45134899  325.00%
 324666  8169       17.0000   122        4.0000       17.0000 45511189  325.00%
Elapsed time = 842.34 sec. (441273.38 ticks, tree = 88.83 MB, solutions = 4)
 328209  8228    infeasible              4.0000       17.0000 45865763  325.00%
 332376  8177       17.0000   107        4.0000       17.0000 46226969  325.00%
 335304  8135       17.0000   160        4.0000       17.0000 46595380  325.00%
 338021  8208    infeasible              4.0000       17.0000 46926134  325.00%
 341261  8133       17.0000   128        4.0000       17.0000 47311390  325.00%
 343554  8155       17.0000   160        4.0000       17.0000 47616804  325.00%
 346908  8132       17.0000   105        4.0000       17.0000 47992625  325.00%
 349943  8154    infeasible              4.0000       17.0000 48338042  325.00%
 353173  8158       17.0000   149        4.0000       17.0000 48713167  325.00%
 355127  8186       17.0000   121        4.0000       17.0000 49059144  325.00%
Elapsed time = 917.81 sec. (479578.47 ticks, tree = 90.00 MB, solutions = 4)
 357451  8180       17.0000   147        4.0000       17.0000 49390782  325.00%
 359989  8208       17.0000   114        4.0000       17.0000 49767524  325.00%
 361933  8277       20.0000   121        4.0000       17.0000 50080079  325.00%
 364180  8305       17.0000   138        4.0000       17.0000 50473056  325.00%
 365965  8326       17.0000   140        4.0000       17.0000 50798535  325.00%
 367859  8328       17.0000   128        4.0000       17.0000 51138833  325.00%
 369887  8416       17.0000   137        4.0000       17.0000 51485675  325.00%
 371972  8820    infeasible              4.0000       16.0000 51861479  300.00%
 373625  9064    infeasible              4.0000       16.0000 52218111  300.00%
 375777  9414    infeasible              4.0000       16.0000 52592686  300.00%
Elapsed time = 991.64 sec. (518007.77 ticks, tree = 111.57 MB, solutions = 4)
 377672  9777        cutoff              4.0000       16.0000 52943234  300.00%
 379766 10243        cutoff              4.0000       16.0000 53329278  300.00%
 381666 10543       17.0000   107        4.0000       16.0000 53666337  300.00%
 383610 10722       13.0000   115        4.0000       16.0000 53996243  300.00%
 385861 10978        cutoff              4.0000       16.0000 54361514  300.00%
 387881 11181       19.0000   173        4.0000       16.0000 54765494  300.00%
 389621 11323       19.0000   194        4.0000       16.0000 55094481  300.00%
 391936 11648    infeasible              4.0000       16.0000 55478191  300.00%
 394028 11918        cutoff              4.0000       16.0000 55829847  300.00%
 396419 12248    infeasible              4.0000       16.0000 56245863  300.00%
Elapsed time = 1075.59 sec. (556364.43 ticks, tree = 163.66 MB, solutions = 4)
 398507 12566        cutoff              4.0000       16.0000 56614219  300.00%
 400763 12920       17.0000   124        4.0000       16.0000 57012285  300.00%
 402731 13188       17.6134   117        4.0000       16.0000 57343734  300.00%
 404803 13377    infeasible              4.0000       16.0000 57684342  300.00%
 407112 13726    infeasible              4.0000       16.0000 58042101  300.00%
 409761 14247        cutoff              4.0000       16.0000 58441785  300.00%
 411916 14504       17.0000   116        4.0000       16.0000 58828976  300.00%
 413450 14739    infeasible              4.0000       16.0000 59168207  300.00%
 415192 14886       19.0000   100        4.0000       16.0000 59517657  300.00%
 417016 15232       16.8051   172        4.0000       16.0000 59861477  300.00%
Elapsed time = 1153.02 sec. (594651.54 ticks, tree = 217.76 MB, solutions = 4)
 419277 15489       18.8435   128        4.0000       16.0000 60268384  300.00%
 421121 15801    infeasible              4.0000       16.0000 60611442  300.00%
 423119 15999       15.5385   141        4.0000       16.0000 60976820  300.00%
 425520 16193        cutoff              4.0000       16.0000 61385589  300.00%
 427292 16430       19.0000    89        4.0000       16.0000 61710947  300.00%
 429442 16653       19.0000   133        4.0000       16.0000 62055963  300.00%
 431335 16866        cutoff              4.0000       16.0000 62382494  300.00%
 433070 17044        cutoff              4.0000       16.0000 62732363  300.00%
 434530 17176    infeasible              4.0000       16.0000 63045740  300.00%
 436474 17495       17.0000   128        4.0000       16.0000 63406872  300.00%
Elapsed time = 1232.00 sec. (633009.82 ticks, tree = 259.65 MB, solutions = 4)
 438633 17705        cutoff              4.0000       16.0000 63786666  300.00%
 440391 17974        cutoff              4.0000       16.0000 64099798  300.00%
 442274 18155       15.4905   113        4.0000       16.0000 64452133  300.00%
 444300 18291       18.3727   104        4.0000       16.0000 64802702  300.00%
 446673 18478        cutoff              4.0000       16.0000 65141838  300.00%
 449316 18663       12.0000   100        4.0000       16.0000 65535586  300.00%
 451603 18903       11.0000   136        4.0000       16.0000 65873459  300.00%
 453527 19272    infeasible              4.0000       16.0000 66211111  300.00%
 455706 19708       11.0000    54        4.0000       16.0000 66586399  300.00%
 457043 20041       13.6160    70        4.0000       16.0000 66831397  300.00%
Elapsed time = 1309.16 sec. (671269.24 ticks, tree = 305.77 MB, solutions = 4)
 458866 20447       17.0000   123        4.0000       16.0000 67173543  300.00%
 460382 20855        cutoff              4.0000       16.0000 67453091  300.00%
 462255 21221       18.0000   123        4.0000       16.0000 67804150  300.00%
 463826 21611       18.0000   141        4.0000       16.0000 68104881  300.00%
 465597 22073       17.0000   108        4.0000       16.0000 68414937  300.00%
 467472 22529       18.0000   116        4.0000       16.0000 68753425  300.00%
 468911 22886       16.3257   106        4.0000       16.0000 68993500  300.00%
 471332 23580        cutoff              4.0000       16.0000 69358405  300.00%
 473157 23959       15.6093   169        4.0000       16.0000 69676882  300.00%
 474894 24326        cutoff              4.0000       16.0000 70006417  300.00%
Elapsed time = 1383.45 sec. (709557.69 ticks, tree = 384.71 MB, solutions = 4)
 477105 24824       15.0000    69        4.0000       16.0000 70358195  300.00%
 478779 25197       13.0000   159        4.0000       16.0000 70604772  300.00%
 480700 25694       17.7074   103        4.0000       16.0000 70906974  300.00%
 483215 26470       16.3257   103        4.0000       16.0000 71246015  300.00%
 485070 26958       16.3257   115        4.0000       16.0000 71519848  300.00%
 487267 27432       14.0000   144        4.0000       16.0000 71843759  300.00%
 489577 28056       19.0000   156        4.0000       16.0000 72171870  300.00%
 491551 28534       15.7077   126        4.0000       16.0000 72503645  300.00%
 493297 28982       18.0000   126        4.0000       16.0000 72827631  300.00%
 495184 29555    infeasible              4.0000       16.0000 73095342  300.00%
Elapsed time = 1471.75 sec. (747933.49 ticks, tree = 479.26 MB, solutions = 4)
 497877 30413    infeasible              4.0000       16.0000 73469574  300.00%
 499675 31036       15.3472   134        4.0000       16.0000 73715715  300.00%
 501940 31604       18.4246   134        4.0000       16.0000 74065525  300.00%
 503391 31937        cutoff              4.0000       16.0000 74324583  300.00%
 505330 32491        cutoff              4.0000       16.0000 74658310  300.00%
 507398 33022       13.0000   137        4.0000       16.0000 74960424  300.00%
 509517 33586       13.0000    95        4.0000       16.0000 75250356  300.00%
 512307 34446       18.8359   134        4.0000       16.0000 75589407  300.00%
 514378 34945       19.0000   149        4.0000       16.0000 75881760  300.00%
 516434 35487       17.0453   128        4.0000       16.0000 76180790  300.00%
Elapsed time = 1549.97 sec. (786211.05 ticks, tree = 594.61 MB, solutions = 4)
 519152 36177       19.0000   165        4.0000       16.0000 76598592  300.00%
 520402 36568        cutoff              4.0000       16.0000 76845289  300.00%
 522626 37124       16.4094    97        4.0000       16.0000 77194861  300.00%
 524950 37216       15.0000    81        4.0000       16.0000 77489479  300.00%
 527992 37355       12.0000    47        4.0000       16.0000 77837663  300.00%
 529769 37342       13.0000    85        4.0000       16.0000 78077526  300.00%
 531762 37346       13.0000    75        4.0000       16.0000 78355931  300.00%
 533881 37521       16.0000   108        4.0000       16.0000 78642397  300.00%
 536107 37517       13.6187    78        4.0000       16.0000 78978335  300.00%
 538157 37445    infeasible              4.0000       16.0000 79303934  300.00%
Elapsed time = 1632.70 sec. (824496.81 ticks, tree = 642.36 MB, solutions = 4)
 539891 37433       16.0000    84        4.0000       16.0000 79609462  300.00%
 541697 37289       16.0000    95        4.0000       16.0000 79911366  300.00%
 543323 37302    infeasible              4.0000       16.0000 80212799  300.00%
 544939 37271    infeasible              4.0000       16.0000 80530625  300.00%
 546906 37385       16.0000    89        4.0000       16.0000 80879552  300.00%
 548595 37399       16.0000   123        4.0000       16.0000 81223757  300.00%
 550173 37482       16.0000   134        4.0000       16.0000 81538245  300.00%
 551683 37527       14.2324    94        4.0000       16.0000 81811544  300.00%
 553725 37599       16.0000   152        4.0000       16.0000 82192706  300.00%
 555709 37586       16.0000   145        4.0000       16.0000 82532490  300.00%
Elapsed time = 1710.33 sec. (862873.84 ticks, tree = 651.06 MB, solutions = 4)
 557394 37647       16.0000   128        4.0000       16.0000 82826530  300.00%
 559189 37688    infeasible              4.0000       16.0000 83166069  300.00%
 560999 37786       16.0000   140        4.0000       16.0000 83483033  300.00%
 563215 37866    infeasible              4.0000       16.0000 83802790  300.00%
 565893 37913    infeasible              4.0000       16.0000 84187220  300.00%
 567864 38104       15.0000   106        4.0000       16.0000 84561405  300.00%
 569223 38153       16.0000   103        4.0000       16.0000 84819450  300.00%
 571396 38141    infeasible              4.0000       16.0000 85178788  300.00%
 573148 38193       16.0000   142        4.0000       16.0000 85477740  300.00%
 575485 38214       16.0000   113        4.0000       16.0000 85846375  300.00%
Elapsed time = 1788.91 sec. (901233.79 ticks, tree = 662.92 MB, solutions = 4)
 577606 38331       16.0000   156        4.0000       16.0000 86195592  300.00%
 579466 38475       16.0000   149        4.0000       16.0000 86517695  300.00%
 581633 38835       15.0000    99        4.0000       16.0000 86863261  300.00%
 583429 39002       16.0000   127        4.0000       16.0000 87171288  300.00%
 585667 39163       16.0000    79        4.0000       16.0000 87547790  300.00%
 587609 39227    infeasible              4.0000       16.0000 87871173  300.00%
 589211 39340       16.0000   139        4.0000       16.0000 88162333  300.00%
 590914 39340    infeasible              4.0000       16.0000 88478262  300.00%
 593085 39514       16.0000   132        4.0000       16.0000 88877875  300.00%
 594613 39601       16.0000   128        4.0000       16.0000 89148503  300.00%
Elapsed time = 1864.81 sec. (939568.64 ticks, tree = 690.74 MB, solutions = 4)
 596586 39819       16.0000   102        4.0000       16.0000 89478005  300.00%
 598351 39984       16.0000    80        4.0000       16.0000 89793406  300.00%
 600208 40064       16.0000   192        4.0000       16.0000 90107324  300.00%
 604026 40111       16.0000    82        4.0000       16.0000 90492211  300.00%
 607551 40229    infeasible              4.0000       16.0000 90816888  300.00%
 611886 40121        cutoff              4.0000       16.0000 91194847  300.00%
 614375 40178       16.0000    66        4.0000       16.0000 91530141  300.00%
 617154 40157    infeasible              4.0000       16.0000 91836175  300.00%
 619373 40230       16.0000    81        4.0000       16.0000 92208150  300.00%
 621820 40277    infeasible              4.0000       16.0000 92517328  300.00%
Elapsed time = 1952.86 sec. (977844.92 ticks, tree = 705.79 MB, solutions = 4)
 623989 40407       16.0000   133        4.0000       16.0000 92856351  300.00%
 625526 40437       16.0000   149        4.0000       16.0000 93197053  300.00%
 627740 40628    infeasible              4.0000       16.0000 93557819  300.00%
 629603 40666    infeasible              4.0000       16.0000 93914871  300.00%
 631485 40732       16.0000   123        4.0000       16.0000 94248277  300.00%
 633216 40875    infeasible              4.0000       16.0000 94554103  300.00%
 635570 40907       16.0000   155        4.0000       16.0000 94932519  300.00%
 637257 40877       13.0000   142        4.0000       16.0000 95248400  300.00%
 639266 40966    infeasible              4.0000       16.0000 95572527  300.00%
 641295 41007       16.0000   139        4.0000       16.0000 95886941  300.00%
Elapsed time = 2034.34 sec. (1016241.24 ticks, tree = 719.36 MB, solutions = 4)
 643548 41209       16.0000    88        4.0000       16.0000 96206259  300.00%
 646093 41279       16.0000   120        4.0000       16.0000 96560035  300.00%
 648230 41277    infeasible              4.0000       16.0000 96880828  300.00%
 650217 41270       16.0000   157        4.0000       16.0000 97208436  300.00%
 652048 41293    infeasible              4.0000       16.0000 97543060  300.00%
 654276 41285       16.0000   107        4.0000       16.0000 97883810  300.00%
 656334 41297    infeasible              4.0000       16.0000 98226657  300.00%
 658221 41302       16.0000   127        4.0000       16.0000 98550660  300.00%
 660654 41266    infeasible              4.0000       16.0000 98896281  300.00%
 662788 41390       16.0000   114        4.0000       16.0000 99216986  300.00%
Elapsed time = 2111.02 sec. (1054525.18 ticks, tree = 727.20 MB, solutions = 4)
 665147 41378       16.0000   107        4.0000       16.0000 99546209  300.00%
 667267 41347    infeasible              4.0000       16.0000 99858892  300.00%
 669429 41418       16.0000   110        4.0000       16.0000 1.00e+008  300.00%
 671378 41429       16.0000   104        4.0000       16.0000 1.01e+008  300.00%
 674123 41361       16.0000   146        4.0000       16.0000 1.01e+008  300.00%
 676344 41356       16.0000    94        4.0000       16.0000 1.01e+008  300.00%
 678484 41358    infeasible              4.0000       16.0000 1.01e+008  300.00%
 680397 41346       16.0000   141        4.0000       16.0000 1.02e+008  300.00%
 682429 41323       16.0000   157        4.0000       16.0000 1.02e+008  300.00%
 684376 41443       16.0000   116        4.0000       16.0000 1.02e+008  300.00%
Elapsed time = 2190.52 sec. (1092787.43 ticks, tree = 728.05 MB, solutions = 4)
 686547 41500       16.0000   163        4.0000       16.0000 1.03e+008  300.00%
 688778 41538    infeasible              4.0000       16.0000 1.03e+008  300.00%
 690958 41646       16.0000   102        4.0000       16.0000 1.03e+008  300.00%
 693524 41685       16.0000    93        4.0000       16.0000 1.04e+008  300.00%
 696328 41746       16.0000    77        4.0000       16.0000 1.04e+008  300.00%
 699291 41726    infeasible              4.0000       16.0000 1.04e+008  300.00%
 702765 41765    infeasible              4.0000       16.0000 1.05e+008  300.00%
 705682 41701    infeasible              4.0000       16.0000 1.05e+008  300.00%
 708611 41621       16.0000   178        4.0000       16.0000 1.05e+008  300.00%
 711541 41522       16.0000    69        4.0000       16.0000 1.06e+008  300.00%
Elapsed time = 2280.80 sec. (1131094.35 ticks, tree = 730.21 MB, solutions = 4)
 713874 41540       16.0000    89        4.0000       16.0000 1.06e+008  300.00%
 716103 41446    infeasible              4.0000       16.0000 1.06e+008  300.00%
 718497 41442       16.0000    87        4.0000       16.0000 1.07e+008  300.00%
 720994 41392       16.0000   157        4.0000       16.0000 1.07e+008  300.00%
 723339 41406       16.0000   122        4.0000       16.0000 1.07e+008  300.00%
 725720 41371    infeasible              4.0000       16.0000 1.08e+008  300.00%
 728046 41424    infeasible              4.0000       16.0000 1.08e+008  300.00%
 730522 41329    infeasible              4.0000       16.0000 1.08e+008  300.00%
 732282 41318    infeasible              4.0000       16.0000 1.09e+008  300.00%
 734172 41303    infeasible              4.0000       16.0000 1.09e+008  300.00%
Elapsed time = 2365.44 sec. (1169409.22 ticks, tree = 725.98 MB, solutions = 4)
 735954 41299       16.0000   113        4.0000       16.0000 1.09e+008  300.00%
 738223 41237    infeasible              4.0000       16.0000 1.10e+008  300.00%
 740217 41139       13.0000   154        4.0000       15.8505 1.10e+008  296.26%
 742224 41226       14.2849   107        4.0000       15.6190 1.10e+008  290.48%
 744194 41328       15.3472   132        4.0000       15.3472 1.10e+008  283.68%
 746136 41701       15.0000   103        4.0000       15.3472 1.10e+008  283.68%
 747974 42081       13.0000    96        4.0000       15.3472 1.11e+008  283.68%
 750106 41968    infeasible              4.0000       15.1309 1.11e+008  278.27%
 751485 42128       15.0000   136        4.0000       15.0000 1.11e+008  275.00%
 753455 41959    infeasible              4.0000       15.0000 1.11e+008  275.00%
Elapsed time = 2445.66 sec. (1207713.44 ticks, tree = 753.39 MB, solutions = 4)
 756061 41441        cutoff              4.0000       15.0000 1.12e+008  275.00%
 758399 41045       15.0000    71        4.0000       15.0000 1.12e+008  275.00%
 760619 40819       14.0000    77        4.0000       15.0000 1.12e+008  275.00%
 763706 40540       13.8207    81        4.0000       15.0000 1.12e+008  275.00%
 765695 40321       15.0000    80        4.0000       15.0000 1.13e+008  275.00%
 768780 40119       15.0000    74        4.0000       15.0000 1.13e+008  275.00%
 770682 39817       12.0000    67        4.0000       15.0000 1.13e+008  275.00%
 773481 39606    infeasible              4.0000       15.0000 1.13e+008  275.00%
 775299 39388        cutoff              4.0000       15.0000 1.14e+008  275.00%
 777138 39139       15.0000    81        4.0000       15.0000 1.14e+008  275.00%
Elapsed time = 2538.30 sec. (1245978.66 ticks, tree = 706.67 MB, solutions = 4)
 778726 39065        cutoff              4.0000       15.0000 1.14e+008  275.00%
 780660 38791       15.0000   153        4.0000       15.0000 1.15e+008  275.00%
 782879 38653        cutoff              4.0000       15.0000 1.15e+008  275.00%
 784538 38466       15.0000   100        4.0000       15.0000 1.15e+008  275.00%
 786120 38301    infeasible              4.0000       15.0000 1.15e+008  275.00%
 788127 38213        cutoff              4.0000       15.0000 1.16e+008  275.00%
 789555 38212       15.0000   100        4.0000       15.0000 1.16e+008  275.00%
 791349 38090       15.0000   127        4.0000       15.0000 1.16e+008  275.00%
 793273 38021    infeasible              4.0000       15.0000 1.17e+008  275.00%
 794530 37896       15.0000   109        4.0000       15.0000 1.17e+008  275.00%
Elapsed time = 2639.17 sec. (1284260.12 ticks, tree = 693.67 MB, solutions = 4)
 796040 37768       15.0000   146        4.0000       15.0000 1.17e+008  275.00%
 797504 37739       15.0000   101        4.0000       15.0000 1.17e+008  275.00%
 799074 37615    infeasible              4.0000       15.0000 1.18e+008  275.00%
 800666 37664       15.0000   104        4.0000       15.0000 1.18e+008  275.00%
 802516 37808       15.0000    83        4.0000       15.0000 1.18e+008  275.00%
 803865 37819       12.0000    96        4.0000       15.0000 1.19e+008  275.00%
 805690 37797    infeasible              4.0000       15.0000 1.19e+008  275.00%
 807088 37820       15.0000    92        4.0000       15.0000 1.19e+008  275.00%
 808851 37909        cutoff              4.0000       15.0000 1.19e+008  275.00%
 810428 37937       14.0000    79        4.0000       15.0000 1.20e+008  275.00%
Elapsed time = 2741.64 sec. (1322860.09 ticks, tree = 700.79 MB, solutions = 4)
 811942 38033       14.0000   141        4.0000       15.0000 1.20e+008  275.00%
 814117 38109        cutoff              4.0000       15.0000 1.20e+008  275.00%
 815945 38048       14.3012    92        4.0000       15.0000 1.21e+008  275.00%
 817513 38083        cutoff              4.0000       15.0000 1.21e+008  275.00%
 819111 38015       14.1752    88        4.0000       15.0000 1.21e+008  275.00%
 821025 38092       15.0000   135        4.0000       15.0000 1.22e+008  275.00%
 822779 38116       15.0000    80        4.0000       15.0000 1.22e+008  275.00%
 824684 38228       10.0000    84        4.0000       15.0000 1.22e+008  275.00%
 826477 38290    infeasible              4.0000       15.0000 1.22e+008  275.00%
 827666 38293       15.0000    86        4.0000       15.0000 1.23e+008  275.00%
Elapsed time = 2846.08 sec. (1361240.36 ticks, tree = 713.09 MB, solutions = 4)
 829646 38301        cutoff              4.0000       15.0000 1.23e+008  275.00%
 831542 38449    infeasible              4.0000       15.0000 1.23e+008  275.00%
 833190 38471    infeasible              4.0000       15.0000 1.24e+008  275.00%
 834894 38477       15.0000   114        4.0000       15.0000 1.24e+008  275.00%
 836952 38538       15.0000    79        4.0000       15.0000 1.24e+008  275.00%
 838342 38624       15.0000    94        4.0000       15.0000 1.25e+008  275.00%
 840550 38850       15.0000   129        4.0000       15.0000 1.25e+008  275.00%
 842308 38978       15.0000   109        4.0000       15.0000 1.25e+008  275.00%
 844350 39211    infeasible              4.0000       15.0000 1.25e+008  275.00%
 846410 39268       15.0000   118        4.0000       15.0000 1.26e+008  275.00%
Elapsed time = 2947.91 sec. (1399562.10 ticks, tree = 736.82 MB, solutions = 4)
 848312 39303       15.0000   122        4.0000       15.0000 1.26e+008  275.00%
 850705 39399       15.0000   116        4.0000       15.0000 1.26e+008  275.00%
 852512 39440       13.0000   107        4.0000       15.0000 1.27e+008  275.00%
 854110 39620       15.0000    87        4.0000       15.0000 1.27e+008  275.00%
 855995 39713       15.0000   109        4.0000       15.0000 1.27e+008  275.00%
 857912 39851    infeasible              4.0000       15.0000 1.28e+008  275.00%
 859964 39988       15.0000   148        4.0000       15.0000 1.28e+008  275.00%
 861704 40102    infeasible              4.0000       15.0000 1.28e+008  275.00%
 863437 40205       13.0000    83        4.0000       15.0000 1.29e+008  275.00%
 865492 40387       15.0000    86        4.0000       15.0000 1.29e+008  275.00%
Elapsed time = 3034.59 sec. (1437885.34 ticks, tree = 761.03 MB, solutions = 4)
 867596 40546       13.0000   107        4.0000       15.0000 1.29e+008  275.00%
 869421 40696    infeasible              4.0000       15.0000 1.30e+008  275.00%
 870685 40840       15.0000   138        4.0000       15.0000 1.30e+008  275.00%
 872266 40962       15.0000   122        4.0000       15.0000 1.30e+008  275.00%
 873930 41148       15.0000   114        4.0000       15.0000 1.31e+008  275.00%
 875460 41261       15.0000    96        4.0000       15.0000 1.31e+008  275.00%
 877193 41415       15.0000   115        4.0000       15.0000 1.31e+008  275.00%
 878770 41515        cutoff              4.0000       15.0000 1.32e+008  275.00%
 880365 41878       15.0000   172        4.0000       15.0000 1.32e+008  275.00%
 882042 42093       15.0000   177        4.0000       15.0000 1.32e+008  275.00%
Elapsed time = 3118.28 sec. (1476361.44 ticks, tree = 798.78 MB, solutions = 4)
 883491 42299       15.0000   120        4.0000       15.0000 1.33e+008  275.00%
 885389 42590       15.0000   115        4.0000       15.0000 1.33e+008  275.00%
 887190 42904       15.0000   114        4.0000       15.0000 1.33e+008  275.00%
 888570 43231    infeasible              4.0000       15.0000 1.33e+008  275.00%
 890413 43468       15.0000   119        4.0000       15.0000 1.34e+008  275.00%
 892257 43817        cutoff              4.0000       15.0000 1.34e+008  275.00%
 893669 44047       15.0000    93        4.0000       15.0000 1.34e+008  275.00%
 895394 44251       15.0000   177        4.0000       15.0000 1.35e+008  275.00%
 896865 44406       15.0000   101        4.0000       15.0000 1.35e+008  275.00%
 898261 44583       13.0000   113        4.0000       15.0000 1.35e+008  275.00%
Elapsed time = 3199.84 sec. (1514683.68 ticks, tree = 852.80 MB, solutions = 4)
 899811 44805    infeasible              4.0000       15.0000 1.36e+008  275.00%
 901759 44934       15.0000   125        4.0000       15.0000 1.36e+008  275.00%
 903433 44934       15.0000   111        4.0000       15.0000 1.36e+008  275.00%
 906089 44952       15.0000    85        4.0000       15.0000 1.37e+008  275.00%
 907745 44993       15.0000   120        4.0000       15.0000 1.37e+008  275.00%
 909987 44961    infeasible              4.0000       15.0000 1.37e+008  275.00%
 911661 45161    infeasible              4.0000       15.0000 1.37e+008  275.00%
 913477 45274       15.0000   171        4.0000       15.0000 1.38e+008  275.00%
 915933 45316    infeasible              4.0000       15.0000 1.38e+008  275.00%
 917837 45360    infeasible              4.0000       15.0000 1.38e+008  275.00%
Elapsed time = 3285.09 sec. (1552942.66 ticks, tree = 871.66 MB, solutions = 4)
 919875 45320       15.0000   110        4.0000       15.0000 1.39e+008  275.00%
 922271 45342       15.0000   161        4.0000       15.0000 1.39e+008  275.00%
 924364 45299       15.0000    89        4.0000       15.0000 1.39e+008  275.00%
 926507 45230       15.0000    90        4.0000       15.0000 1.40e+008  275.00%
 929051 45294       15.0000    97        4.0000       15.0000 1.40e+008  275.00%
 931436 45304    infeasible              4.0000       15.0000 1.40e+008  275.00%
 933132 45385    infeasible              4.0000       15.0000 1.41e+008  275.00%
 935549 45349       15.0000   113        4.0000       15.0000 1.41e+008  275.00%
 937822 45330       15.0000   119        4.0000       15.0000 1.41e+008  275.00%
 939802 45293       15.0000   120        4.0000       15.0000 1.42e+008  275.00%
Elapsed time = 3367.83 sec. (1591599.22 ticks, tree = 870.81 MB, solutions = 4)
 941759 45372       15.0000   124        4.0000       15.0000 1.42e+008  275.00%
 943901 45428       15.0000    79        4.0000       15.0000 1.42e+008  275.00%
 946337 45505       15.0000   111        4.0000       15.0000 1.42e+008  275.00%
 948714 45593       15.0000    87        4.0000       15.0000 1.43e+008  275.00%
 952263 45583       15.0000    91        4.0000       15.0000 1.43e+008  275.00%
 955288 45720    infeasible              4.0000       15.0000 1.43e+008  275.00%
 960743 45760    infeasible              4.0000       15.0000 1.44e+008  275.00%
 964089 45655       15.0000    74        4.0000       15.0000 1.44e+008  275.00%
 965915 45673    infeasible              4.0000       15.0000 1.44e+008  275.00%
 970656 45737    infeasible              4.0000       15.0000 1.45e+008  275.00%
Elapsed time = 3449.94 sec. (1629851.87 ticks, tree = 880.18 MB, solutions = 4)
 973734 45657       15.0000    84        4.0000       15.0000 1.45e+008  275.00%
 977429 45772    infeasible              4.0000       15.0000 1.45e+008  275.00%
 982766 45708    infeasible              4.0000       15.0000 1.46e+008  275.00%
 985163 45621       15.0000    90        4.0000       15.0000 1.46e+008  275.00%
 987322 45618       15.0000    92        4.0000       15.0000 1.46e+008  275.00%
 990096 45683       15.0000   203        4.0000       15.0000 1.46e+008  275.00%
 993114 45785    infeasible              4.0000       15.0000 1.47e+008  275.00%
 996975 45703    infeasible              4.0000       15.0000 1.47e+008  275.00%
 999166 45675       15.0000   164        4.0000       15.0000 1.47e+008  275.00%
 1002316 45789       15.0000   122        4.0000       15.0000 1.48e+008  275.00%
Elapsed time = 3539.28 sec. (1668110.93 ticks, tree = 881.65 MB, solutions = 4)
 1007840 45859    infeasible              4.0000       15.0000 1.48e+008  275.00%
 1011275 45753    infeasible              4.0000       15.0000 1.48e+008  275.00%
 1014557 45815       15.0000    81        4.0000       15.0000 1.49e+008  275.00%
 1016868 45910       15.0000    35        4.0000       15.0000 1.49e+008  275.00%
 1019873 45774       15.0000   130        4.0000       15.0000 1.49e+008  275.00%
 1021876 45743       15.0000    87        4.0000       15.0000 1.50e+008  275.00%
 1024932 45703    infeasible              4.0000       15.0000 1.50e+008  275.00%
 1027455 45841    infeasible              4.0000       15.0000 1.50e+008  275.00%
 1030813 45796    infeasible              4.0000       15.0000 1.50e+008  275.00%
 1034298 45907       15.0000   127        4.0000       15.0000 1.51e+008  275.00%
Elapsed time = 3640.53 sec. (1706391.56 ticks, tree = 884.72 MB, solutions = 4)
 1038241 45899       15.0000    34        4.0000       15.0000 1.51e+008  275.00%
 1041015 45789       15.0000   141        4.0000       15.0000 1.51e+008  275.00%
 1044722 45781    infeasible              4.0000       15.0000 1.52e+008  275.00%
 1047052 45676       15.0000   124        4.0000       15.0000 1.52e+008  275.00%
 1048839 45758       15.0000   174        4.0000       15.0000 1.52e+008  275.00%
 1051004 45806    infeasible              4.0000       15.0000 1.53e+008  275.00%
 1053507 45950       15.0000    97        4.0000       15.0000 1.53e+008  275.00%
 1056433 46155    infeasible              4.0000       15.0000 1.53e+008  275.00%
 1059320 46190    infeasible              4.0000       15.0000 1.54e+008  275.00%
 1064342 46380       15.0000    65        4.0000       15.0000 1.54e+008  275.00%
Elapsed time = 3735.03 sec. (1744702.16 ticks, tree = 892.08 MB, solutions = 4)
 1070616 46174       15.0000    62        4.0000       15.0000 1.54e+008  275.00%
 1074331 46215       15.0000    78        4.0000       15.0000 1.55e+008  275.00%
 1078297 46214       15.0000    92        4.0000       15.0000 1.55e+008  275.00%
 1080753 46201       15.0000   126        4.0000       15.0000 1.55e+008  275.00%
 1082971 46096    infeasible              4.0000       15.0000 1.56e+008  275.00%
 1085053 46081       15.0000    95        4.0000       15.0000 1.56e+008  275.00%
 1088253 46027    infeasible              4.0000       15.0000 1.56e+008  275.00%
 1090937 46018       15.0000   110        4.0000       15.0000 1.56e+008  275.00%
 1094271 46089       15.0000   132        4.0000       15.0000 1.57e+008  275.00%
 1097242 45996       15.0000   126        4.0000       15.0000 1.57e+008  275.00%
Elapsed time = 3835.03 sec. (1782990.52 ticks, tree = 886.67 MB, solutions = 4)
 1100518 46273       15.0000    65        4.0000       15.0000 1.57e+008  275.00%
 1104137 46454       15.0000    64        4.0000       15.0000 1.58e+008  275.00%
 1108780 46610    infeasible              4.0000       15.0000 1.58e+008  275.00%
 1113631 46572       15.0000    53        4.0000       15.0000 1.58e+008  275.00%
 1118219 46364       15.0000    86        4.0000       15.0000 1.59e+008  275.00%
 1121689 46464    infeasible              4.0000       15.0000 1.59e+008  275.00%
 1125098 46492       15.0000    61        4.0000       15.0000 1.59e+008  275.00%
 1128546 46482       15.0000   115        4.0000       15.0000 1.60e+008  275.00%
 1132002 46433    infeasible              4.0000       15.0000 1.60e+008  275.00%
 1135474 46460    infeasible              4.0000       15.0000 1.60e+008  275.00%
Elapsed time = 3937.59 sec. (1821258.15 ticks, tree = 893.43 MB, solutions = 4)
 1139477 46284    infeasible              4.0000       15.0000 1.61e+008  275.00%
 1142018 46172       15.0000    66        4.0000       15.0000 1.61e+008  275.00%
 1144768 46162       15.0000   100        4.0000       15.0000 1.61e+008  275.00%
 1147412 46084       15.0000    92        4.0000       15.0000 1.62e+008  275.00%
 1150054 45991    infeasible              4.0000       15.0000 1.62e+008  275.00%
 1152982 45935       15.0000   119        4.0000       15.0000 1.62e+008  275.00%
 1155656 45967       15.0000    96        4.0000       15.0000 1.63e+008  275.00%
 1158226 45895    infeasible              4.0000       15.0000 1.63e+008  275.00%
 1160554 45936       15.0000   159        4.0000       15.0000 1.63e+008  275.00%
 1163503 45874    infeasible              4.0000       15.0000 1.63e+008  275.00%
Elapsed time = 4040.67 sec. (1859504.57 ticks, tree = 884.09 MB, solutions = 4)
 1165417 45853       15.0000    93        4.0000       15.0000 1.64e+008  275.00%
 1167588 45819    infeasible              4.0000       15.0000 1.64e+008  275.00%
 1170054 45757       15.0000   110        4.0000       15.0000 1.64e+008  275.00%
 1171793 45838       15.0000    97        4.0000       15.0000 1.65e+008  275.00%
 1175881 45942    infeasible              4.0000       15.0000 1.65e+008  275.00%
 1180156 45951       15.0000   144        4.0000       15.0000 1.65e+008  275.00%
 1185887 45853       15.0000    92        4.0000       15.0000 1.65e+008  275.00%
 1188784 45894    infeasible              4.0000       15.0000 1.66e+008  275.00%
 1191940 45884    infeasible              4.0000       15.0000 1.66e+008  275.00%
 1195418 46114       15.0000   104        4.0000       15.0000 1.66e+008  275.00%
Elapsed time = 4141.59 sec. (1897836.63 ticks, tree = 887.23 MB, solutions = 4)
 1202418 45874    infeasible              4.0000       15.0000 1.67e+008  275.00%
 1207388 46241    infeasible              4.0000       15.0000 1.67e+008  275.00%
 1214084 46024    infeasible              4.0000       15.0000 1.67e+008  275.00%
 1217875 45845    infeasible              4.0000       15.0000 1.68e+008  275.00%
 1220320 45929    infeasible              4.0000       15.0000 1.68e+008  275.00%
 1225704 46063       15.0000   111        4.0000       15.0000 1.68e+008  275.00%
 1230986 46052       15.0000    82        4.0000       15.0000 1.69e+008  275.00%
 1237331 45986    infeasible              4.0000       15.0000 1.69e+008  275.00%
 1241331 45894    infeasible              4.0000       15.0000 1.69e+008  275.00%
 1246470 45969       15.0000    39        4.0000       15.0000 1.69e+008  275.00%
Elapsed time = 4250.75 sec. (1936067.28 ticks, tree = 882.46 MB, solutions = 4)
 1251928 45848    infeasible              4.0000       15.0000 1.70e+008  275.00%
 1255958 45752       15.0000    93        4.0000       15.0000 1.70e+008  275.00%
 1258909 45862    infeasible              4.0000       15.0000 1.70e+008  275.00%
 1261750 46162    infeasible              4.0000       15.0000 1.71e+008  275.00%
 1267556 46256    infeasible              4.0000       15.0000 1.71e+008  275.00%
 1272988 46002       15.0000    75        4.0000       15.0000 1.71e+008  275.00%
 1276129 45984       15.0000   148        4.0000       15.0000 1.72e+008  275.00%
 1279836 45944    infeasible              4.0000       15.0000 1.72e+008  275.00%
 1282622 45999    infeasible              4.0000       15.0000 1.72e+008  275.00%
 1286060 45934       15.0000    72        4.0000       15.0000 1.73e+008  275.00%
Elapsed time = 4359.52 sec. (1974289.63 ticks, tree = 884.82 MB, solutions = 4)
 1290101 45970       15.0000    95        4.0000       15.0000 1.73e+008  275.00%
 1293172 46052    infeasible              4.0000       15.0000 1.73e+008  275.00%
 1297077 46024    infeasible              4.0000       15.0000 1.73e+008  275.00%
 1301605 45968    infeasible              4.0000       15.0000 1.74e+008  275.00%
 1304740 46047    infeasible              4.0000       15.0000 1.74e+008  275.00%
 1309704 45983       15.0000    72        4.0000       15.0000 1.74e+008  275.00%
 1314537 46042       15.0000    62        4.0000       15.0000 1.75e+008  275.00%
 1321099 46079       15.0000    74        4.0000       15.0000 1.75e+008  275.00%
 1324905 45971       15.0000    80        4.0000       15.0000 1.75e+008  275.00%
 1328772 46054       15.0000    77        4.0000       15.0000 1.76e+008  275.00%
Elapsed time = 4462.13 sec. (2012624.29 ticks, tree = 887.73 MB, solutions = 4)
 1332076 45961       15.0000   106        4.0000       15.0000 1.76e+008  275.00%
 1335634 46094       15.0000   121        4.0000       15.0000 1.76e+008  275.00%
 1338968 45899       15.0000   100        4.0000       15.0000 1.77e+008  275.00%
 1340999 45855    infeasible              4.0000       15.0000 1.77e+008  275.00%
 1343311 45811    infeasible              4.0000       15.0000 1.77e+008  275.00%
 1345313 45786    infeasible              4.0000       15.0000 1.77e+008  275.00%
 1346934 45815       15.0000   124        4.0000       15.0000 1.78e+008  275.00%
 1348969 45791       15.0000   112        4.0000       15.0000 1.78e+008  275.00%
 1350476 45825       15.0000   161        4.0000       15.0000 1.78e+008  275.00%
 1352092 45839       15.0000   128        4.0000       15.0000 1.79e+008  275.00%
Elapsed time = 4568.20 sec. (2050991.31 ticks, tree = 882.55 MB, solutions = 4)
 1353812 45782    infeasible              4.0000       15.0000 1.79e+008  275.00%
 1355272 45771    infeasible              4.0000       15.0000 1.79e+008  275.00%
 1357335 45855       15.0000   120        4.0000       15.0000 1.80e+008  275.00%
 1359839 45893       15.0000   101        4.0000       15.0000 1.80e+008  275.00%
 1363071 45920       15.0000    40        4.0000       15.0000 1.80e+008  275.00%
 1364850 45794    infeasible              4.0000       15.0000 1.80e+008  275.00%
 1366858 45739    infeasible              4.0000       15.0000 1.81e+008  275.00%
 1369340 45823       15.0000    95        4.0000       15.0000 1.81e+008  275.00%
 1371891 45735       15.0000   106        4.0000       15.0000 1.81e+008  275.00%
 1374188 45710       15.0000   160        4.0000       15.0000 1.82e+008  275.00%
Elapsed time = 4675.61 sec. (2089286.24 ticks, tree = 880.18 MB, solutions = 4)
 1375920 45698       15.0000    98        4.0000       15.0000 1.82e+008  275.00%
 1378316 45745    infeasible              4.0000       15.0000 1.82e+008  275.00%
 1380806 45837    infeasible              4.0000       15.0000 1.82e+008  275.00%
 1386811 45941    infeasible              4.0000       15.0000 1.83e+008  275.00%
 1391998 45813       15.0000    87        4.0000       15.0000 1.83e+008  275.00%
 1396434 45812    infeasible              4.0000       15.0000 1.83e+008  275.00%
 1400513 45680       15.0000    98        4.0000       15.0000 1.84e+008  275.00%
 1402323 45648       15.0000   119        4.0000       15.0000 1.84e+008  275.00%
 1404415 45753       15.0000   112        4.0000       15.0000 1.84e+008  275.00%
 1407544 45874    infeasible              4.0000       15.0000 1.85e+008  275.00%
Elapsed time = 4791.36 sec. (2127646.51 ticks, tree = 880.86 MB, solutions = 4)
 1413461 46027    infeasible              4.0000       15.0000 1.85e+008  275.00%
 1417962 45864       15.0000    86        4.0000       15.0000 1.85e+008  275.00%
 1422417 46091       15.0000    59        4.0000       15.0000 1.86e+008  275.00%
 1426464 45697       15.0000   121        4.0000       15.0000 1.86e+008  275.00%
 1428793 45629       15.0000    85        4.0000       15.0000 1.86e+008  275.00%
 1430540 45837       15.0000   172        4.0000       15.0000 1.86e+008  275.00%
 1433308 45697       15.0000    89        4.0000       15.0000 1.87e+008  275.00%
 1435875 45622       15.0000   131        4.0000       15.0000 1.87e+008  275.00%
 1438835 45587    infeasible              4.0000       15.0000 1.87e+008  275.00%
 1440615 45715       15.0000    72        4.0000       15.0000 1.88e+008  275.00%
Elapsed time = 4903.14 sec. (2165987.18 ticks, tree = 879.03 MB, solutions = 4)
 1445388 45767       15.0000    64        4.0000       15.0000 1.88e+008  275.00%
 1452264 45699    infeasible              4.0000       15.0000 1.88e+008  275.00%
 1456946 45860       15.0000    55        4.0000       15.0000 1.89e+008  275.00%
 1461245 45796       15.0000    59        4.0000       15.0000 1.89e+008  275.00%
 1467751 45831    infeasible              4.0000       15.0000 1.89e+008  275.00%
 1472784 45823       15.0000    65        4.0000       15.0000 1.90e+008  275.00%
 1478909 46025       15.0000    70        4.0000       15.0000 1.90e+008  275.00%
 1482767 45590    infeasible              4.0000       15.0000 1.90e+008  275.00%
 1485279 45600       15.0000   111        4.0000       15.0000 1.91e+008  275.00%
 1487559 45620    infeasible              4.0000       15.0000 1.91e+008  275.00%
Elapsed time = 5015.67 sec. (2204192.59 ticks, tree = 877.98 MB, solutions = 4)
 1492932 46203    infeasible              4.0000       15.0000 1.91e+008  275.00%
 1496298 46149    infeasible              4.0000       15.0000 1.91e+008  275.00%
 1502195 45919       15.0000    64        4.0000       15.0000 1.92e+008  275.00%
 1507832 46047       15.0000    83        4.0000       15.0000 1.92e+008  275.00%
 1512789 45927    infeasible              4.0000       15.0000 1.92e+008  275.00%
 1517250 45782       15.0000    68        4.0000       15.0000 1.93e+008  275.00%
 1520413 45538       15.0000   113        4.0000       15.0000 1.93e+008  275.00%
 1522663 45530       15.0000    60        4.0000       15.0000 1.93e+008  275.00%
 1525212 45621    infeasible              4.0000       15.0000 1.93e+008  275.00%
 1527698 45623       15.0000    79        4.0000       15.0000 1.94e+008  275.00%
Elapsed time = 5125.45 sec. (2242391.88 ticks, tree = 877.87 MB, solutions = 4)
 1530247 45597    infeasible              4.0000       15.0000 1.94e+008  275.00%
 1533372 45696    infeasible              4.0000       15.0000 1.94e+008  275.00%
 1537244 45587    infeasible              4.0000       15.0000 1.95e+008  275.00%
 1540332 45699       15.0000   106        4.0000       15.0000 1.95e+008  275.00%
 1542885 45549       15.0000   106        4.0000       15.0000 1.95e+008  275.00%
 1545334 45494       15.0000   140        4.0000       15.0000 1.96e+008  275.00%
 1546843 45562    infeasible              4.0000       15.0000 1.96e+008  275.00%
 1549541 45579       15.0000   137        4.0000       15.0000 1.96e+008  275.00%
 1552280 45501       15.0000   106        4.0000       15.0000 1.96e+008  275.00%
 1554105 45476    infeasible              4.0000       15.0000 1.97e+008  275.00%
Elapsed time = 5236.58 sec. (2280638.65 ticks, tree = 875.13 MB, solutions = 4)
 1555989 45630       15.0000   115        4.0000       15.0000 1.97e+008  275.00%
 1560239 45545    infeasible              4.0000       15.0000 1.97e+008  275.00%
 1562451 45629       15.0000   122        4.0000       15.0000 1.98e+008  275.00%
 1565024 45509       15.0000   127        4.0000       15.0000 1.98e+008  275.00%
 1568772 45512       15.0000    68        4.0000       15.0000 1.98e+008  275.00%
 1571399 45467       15.0000    88        4.0000       15.0000 1.99e+008  275.00%
 1573499 45515       15.0000    96        4.0000       15.0000 1.99e+008  275.00%
 1576536 45464       15.0000    79        4.0000       15.0000 1.99e+008  275.00%
 1579131 45468       15.0000   121        4.0000       15.0000 1.99e+008  275.00%
 1581769 45446       15.0000    92        4.0000       15.0000 2.00e+008  275.00%
Elapsed time = 5347.55 sec. (2319015.71 ticks, tree = 874.61 MB, solutions = 4)
 1584248 45468       15.0000    98        4.0000       15.0000 2.00e+008  275.00%
 1586263 45526       15.0000   102        4.0000       15.0000 2.00e+008  275.00%
 1588736 45481       15.0000   101        4.0000       15.0000 2.01e+008  275.00%
 1591290 45507       15.0000   142        4.0000       15.0000 2.01e+008  275.00%
 1593995 45475       15.0000   172        4.0000       15.0000 2.01e+008  275.00%
 1597492 45524       15.0000    57        4.0000       15.0000 2.01e+008  275.00%
 1600249 45448    infeasible              4.0000       15.0000 2.02e+008  275.00%
 1603538 45415       15.0000   151        4.0000       15.0000 2.02e+008  275.00%
 1606537 45471       15.0000    83        4.0000       15.0000 2.02e+008  275.00%
 1608916 45493       15.0000    73        4.0000       15.0000 2.03e+008  275.00%
Elapsed time = 5456.70 sec. (2357253.77 ticks, tree = 876.96 MB, solutions = 4)
 1613005 45428       15.0000   124        4.0000       15.0000 2.03e+008  275.00%
 1615169 45426       15.0000   137        4.0000       15.0000 2.03e+008  275.00%
 1617061 45411    infeasible              4.0000       15.0000 2.04e+008  275.00%
 1618676 45454    infeasible              4.0000       15.0000 2.04e+008  275.00%
 1620953 45401       15.0000    70        4.0000       15.0000 2.04e+008  275.00%
 1623463 45397       15.0000   141        4.0000       15.0000 2.04e+008  275.00%
 1625363 45517       15.0000   118        4.0000       15.0000 2.05e+008  275.00%
 1629325 45567       15.0000    98        4.0000       15.0000 2.05e+008  275.00%
 1631377 45647    infeasible              4.0000       15.0000 2.05e+008  275.00%
 1634337 45620    infeasible              4.0000       15.0000 2.05e+008  275.00%
Elapsed time = 5567.00 sec. (2395588.61 ticks, tree = 877.30 MB, solutions = 4)
 1636932 45619       15.0000   111        4.0000       15.0000 2.06e+008  275.00%
 1639329 45657       15.0000    94        4.0000       15.0000 2.06e+008  275.00%
 1641197 45662    infeasible              4.0000       15.0000 2.06e+008  275.00%
 1644286 45680       15.0000   129        4.0000       15.0000 2.07e+008  275.00%
 1646340 45701    infeasible              4.0000       15.0000 2.07e+008  275.00%
 1649085 45663       15.0000   118        4.0000       15.0000 2.07e+008  275.00%
 1652336 45708       15.0000   112        4.0000       15.0000 2.08e+008  275.00%
 1655437 45624       15.0000   127        4.0000       15.0000 2.08e+008  275.00%
 1658519 45641    infeasible              4.0000       15.0000 2.08e+008  275.00%
 1660723 45608    infeasible              4.0000       15.0000 2.08e+008  275.00%
Elapsed time = 5665.42 sec. (2433925.53 ticks, tree = 878.01 MB, solutions = 4)
 1663848 45675    infeasible              4.0000       15.0000 2.09e+008  275.00%
 1666582 45637       15.0000   123        4.0000       15.0000 2.09e+008  275.00%
 1669308 45733    infeasible              4.0000       15.0000 2.09e+008  275.00%
 1672198 45612    infeasible              4.0000       15.0000 2.10e+008  275.00%
 1674984 45601    infeasible              4.0000       15.0000 2.10e+008  275.00%
 1677496 45675       15.0000    86        4.0000       15.0000 2.10e+008  275.00%
 1680082 45602    infeasible              4.0000       15.0000 2.11e+008  275.00%
 1682420 45544       15.0000    98        4.0000       15.0000 2.11e+008  275.00%
 1684880 45525       15.0000   129        4.0000       15.0000 2.11e+008  275.00%
 1687618 45526       15.0000    94        4.0000       15.0000 2.11e+008  275.00%
Elapsed time = 5760.02 sec. (2472148.26 ticks, tree = 876.28 MB, solutions = 4)
 1689888 45487       15.0000    93        4.0000       15.0000 2.12e+008  275.00%
 1692265 45487       15.0000    96        4.0000       15.0000 2.12e+008  275.00%
 1694006 45491    infeasible              4.0000       15.0000 2.12e+008  275.00%
 1696011 45511    infeasible              4.0000       15.0000 2.13e+008  275.00%
 1698243 45515       15.0000   125        4.0000       15.0000 2.13e+008  275.00%
 1701030 45446    infeasible              4.0000       15.0000 2.13e+008  275.00%
 1703018 45411       15.0000   158        4.0000       15.0000 2.13e+008  275.00%
 1705460 45427    infeasible              4.0000       15.0000 2.14e+008  275.00%
 1707095 45410    infeasible              4.0000       15.0000 2.14e+008  275.00%
 1709860 45436       15.0000   124        4.0000       15.0000 2.14e+008  275.00%
Elapsed time = 5865.89 sec. (2510392.54 ticks, tree = 874.55 MB, solutions = 4)
 1712428 45395       15.0000   147        4.0000       15.0000 2.15e+008  275.00%
 1714400 45374    infeasible              4.0000       15.0000 2.15e+008  275.00%
 1716474 45424    infeasible              4.0000       15.0000 2.15e+008  275.00%
 1719091 45469       15.0000   135        4.0000       15.0000 2.15e+008  275.00%
 1721623 45560       15.0000   110        4.0000       15.0000 2.16e+008  275.00%
 1724560 45731       15.0000    52        4.0000       15.0000 2.16e+008  275.00%
 1730141 45631       15.0000   103        4.0000       15.0000 2.16e+008  275.00%
 1734259 45507    infeasible              4.0000       15.0000 2.17e+008  275.00%
 1737605 45478       15.0000   167        4.0000       15.0000 2.17e+008  275.00%
 1740039 45474    infeasible              4.0000       15.0000 2.17e+008  275.00%
Elapsed time = 5974.92 sec. (2548662.35 ticks, tree = 874.53 MB, solutions = 4)
 1742502 45444    infeasible              4.0000       15.0000 2.18e+008  275.00%
 1745807 45428    infeasible              4.0000       15.0000 2.18e+008  275.00%
 1748742 45392       15.0000   115        4.0000       15.0000 2.18e+008  275.00%
 1751180 45556    infeasible              4.0000       15.0000 2.19e+008  275.00%
 1753317 45364       15.0000    93        4.0000       15.0000 2.19e+008  275.00%
 1755096 45404       15.0000   135        4.0000       15.0000 2.19e+008  275.00%
 1757242 45381    infeasible              4.0000       15.0000 2.19e+008  275.00%
 1758981 45472       15.0000   100        4.0000       15.0000 2.20e+008  275.00%
 1760650 45492    infeasible              4.0000       15.0000 2.20e+008  275.00%
 1763704 45458       15.0000   114        4.0000       15.0000 2.20e+008  275.00%
Elapsed time = 6081.77 sec. (2586990.74 ticks, tree = 874.79 MB, solutions = 4)
 1765501 45401       15.0000   124        4.0000       15.0000 2.21e+008  275.00%
 1767968 45504       15.0000   115        4.0000       15.0000 2.21e+008  275.00%
 1771717 45384       15.0000   121        4.0000       15.0000 2.21e+008  275.00%
 1773399 45406       15.0000    87        4.0000       15.0000 2.21e+008  275.00%
 1775509 45446       15.0000    88        4.0000       15.0000 2.22e+008  275.00%
 1779581 45543    infeasible              4.0000       15.0000 2.22e+008  275.00%
 1782452 45401       15.0000    88        4.0000       15.0000 2.22e+008  275.00%
 1785105 45529       15.0000   111        4.0000       15.0000 2.23e+008  275.00%
 1788788 45453    infeasible              4.0000       15.0000 2.23e+008  275.00%
 1792987 45405       15.0000   136        4.0000       15.0000 2.23e+008  275.00%
Elapsed time = 6186.19 sec. (2625290.14 ticks, tree = 875.85 MB, solutions = 4)
 1796367 45385    infeasible              4.0000       15.0000 2.24e+008  275.00%
 1799880 45399       15.0000   112        4.0000       15.0000 2.24e+008  275.00%
 1802385 45572    infeasible              4.0000       15.0000 2.24e+008  275.00%
 1805013 45393       15.0000   127        4.0000       15.0000 2.24e+008  275.00%
 1807487 45490       15.0000   113        4.0000       15.0000 2.25e+008  275.00%
 1810360 45581       15.0000    93        4.0000       15.0000 2.25e+008  275.00%
 1813285 45483       15.0000   112        4.0000       15.0000 2.25e+008  275.00%
 1816875 45664    infeasible              4.0000       15.0000 2.26e+008  275.00%
 1821102 45515       15.0000   133        4.0000       15.0000 2.26e+008  275.00%
 1823600 45530       15.0000   101        4.0000       15.0000 2.26e+008  275.00%
Elapsed time = 6296.41 sec. (2663564.36 ticks, tree = 876.23 MB, solutions = 4)
 1826143 45471       15.0000   167        4.0000       15.0000 2.26e+008  275.00%
 1829261 45488       15.0000    97        4.0000       15.0000 2.27e+008  275.00%
 1832144 45521       15.0000   103        4.0000       15.0000 2.27e+008  275.00%
 1835705 45472       15.0000    73        4.0000       15.0000 2.27e+008  275.00%
 1838523 45390       15.0000   103        4.0000       15.0000 2.28e+008  275.00%
 1841282 45449    infeasible              4.0000       15.0000 2.28e+008  275.00%
 1844856 45527    infeasible              4.0000       15.0000 2.28e+008  275.00%
 1848713 45467       15.0000    66        4.0000       15.0000 2.29e+008  275.00%
 1852063 45464       15.0000   104        4.0000       15.0000 2.29e+008  275.00%
 1855154 45526    infeasible              4.0000       15.0000 2.29e+008  275.00%
Elapsed time = 6407.39 sec. (2701818.57 ticks, tree = 875.95 MB, solutions = 4)
 1859132 45586       15.0000   113        4.0000       15.0000 2.29e+008  275.00%
 1863032 45609    infeasible              4.0000       15.0000 2.30e+008  275.00%
 1866952 45595       15.0000    81        4.0000       15.0000 2.30e+008  275.00%
 1870685 45576       15.0000    94        4.0000       15.0000 2.30e+008  275.00%
 1875046 45595       15.0000   120        4.0000       15.0000 2.31e+008  275.00%
 1880474 45534       15.0000   104        4.0000       15.0000 2.31e+008  275.00%
 1884620 45584    infeasible              4.0000       15.0000 2.31e+008  275.00%
 1889175 45486    infeasible              4.0000       15.0000 2.32e+008  275.00%
 1892855 45458    infeasible              4.0000       15.0000 2.32e+008  275.00%
 1897691 45558    infeasible              4.0000       15.0000 2.32e+008  275.00%
Elapsed time = 6512.39 sec. (2740128.46 ticks, tree = 877.75 MB, solutions = 4)
 1902257 45511       15.0000    97        4.0000       15.0000 2.33e+008  275.00%
 1905783 45429       15.0000   155        4.0000       15.0000 2.33e+008  275.00%
 1909883 45422       15.0000   114        4.0000       15.0000 2.33e+008  275.00%
 1915874 45545       15.0000    83        4.0000       15.0000 2.34e+008  275.00%
 1919262 45514    infeasible              4.0000       15.0000 2.34e+008  275.00%
 1925473 45615       15.0000    89        4.0000       15.0000 2.34e+008  275.00%
 1929909 45594    infeasible              4.0000       15.0000 2.35e+008  275.00%
 1933675 45700    infeasible              4.0000       15.0000 2.35e+008  275.00%
 1937312 45375       15.0000   131        4.0000       15.0000 2.35e+008  275.00%
 1940703 45469    infeasible              4.0000       15.0000 2.35e+008  275.00%
Elapsed time = 6619.45 sec. (2778349.55 ticks, tree = 875.16 MB, solutions = 4)
 1943788 45403       15.0000   110        4.0000       15.0000 2.36e+008  275.00%
 1946928 45462       15.0000   106        4.0000       15.0000 2.36e+008  275.00%
 1949854 45381       15.0000    91        4.0000       15.0000 2.36e+008  275.00%
 1952606 45352       15.0000   112        4.0000       15.0000 2.37e+008  275.00%
 1954991 45351       15.0000   124        4.0000       15.0000 2.37e+008  275.00%
 1956694 45360       15.0000   134        4.0000       15.0000 2.37e+008  275.00%
 1960186 45343       15.0000    91        4.0000       15.0000 2.38e+008  275.00%
 1961810 45347    infeasible              4.0000       15.0000 2.38e+008  275.00%
 1963354 45365       15.0000   131        4.0000       15.0000 2.38e+008  275.00%
 1965308 45357       15.0000   136        4.0000       15.0000 2.38e+008  275.00%
Elapsed time = 6725.28 sec. (2816763.29 ticks, tree = 873.06 MB, solutions = 4)
 1967272 45388       15.0000    82        4.0000       15.0000 2.39e+008  275.00%
 1969040 45350       15.0000   107        4.0000       15.0000 2.39e+008  275.00%
 1971693 45428       15.0000    64        4.0000       15.0000 2.39e+008  275.00%
 1974094 45359       15.0000    88        4.0000       15.0000 2.40e+008  275.00%
 1975647 45325    infeasible              4.0000       15.0000 2.40e+008  275.00%
 1977198 45352       15.0000   116        4.0000       15.0000 2.40e+008  275.00%
 1978717 45402       15.0000   142        4.0000       15.0000 2.40e+008  275.00%
 1980301 45414    infeasible              4.0000       15.0000 2.41e+008  275.00%
 1981804 45435       15.0000   140        4.0000       15.0000 2.41e+008  275.00%
 1983476 45404       15.0000   135        4.0000       15.0000 2.41e+008  275.00%
Elapsed time = 6831.55 sec. (2855120.11 ticks, tree = 873.82 MB, solutions = 4)
 1984981 45401       15.0000   123        4.0000       15.0000 2.42e+008  275.00%
 1986625 45419    infeasible              4.0000       15.0000 2.42e+008  275.00%
 1987984 45426       15.0000   148        4.0000       15.0000 2.42e+008  275.00%
 1989506 45420       15.0000    81        4.0000       15.0000 2.42e+008  275.00%
 1990939 45434       15.0000   120        4.0000       15.0000 2.43e+008  275.00%
 1992469 45412    infeasible              4.0000       15.0000 2.43e+008  275.00%
 1994149 45414       15.0000   126        4.0000       15.0000 2.43e+008  275.00%
 1995639 45390       15.0000   139        4.0000       15.0000 2.44e+008  275.00%
 1997065 45364       15.0000   108        4.0000       15.0000 2.44e+008  275.00%
 1998673 45360       15.0000   121        4.0000       15.0000 2.44e+008  275.00%
Elapsed time = 6943.28 sec. (2893524.33 ticks, tree = 873.20 MB, solutions = 4)
 2000343 45364       15.0000   101        4.0000       15.0000 2.45e+008  275.00%
 2001786 45360       15.0000   143        4.0000       15.0000 2.45e+008  275.00%
 2003380 45350       15.0000   122        4.0000       15.0000 2.45e+008  275.00%
 2005073 45338    infeasible              4.0000       15.0000 2.45e+008  275.00%
 2006743 45345       15.0000   121        4.0000       15.0000 2.46e+008  275.00%
 2008100 45335       15.0000   109        4.0000       15.0000 2.46e+008  275.00%
 2009727 45330       15.0000   140        4.0000       15.0000 2.46e+008  275.00%
 2011407 45339       15.0000   127        4.0000       15.0000 2.47e+008  275.00%
 2012947 45336    infeasible              4.0000       15.0000 2.47e+008  275.00%
 2014452 45353    infeasible              4.0000       15.0000 2.47e+008  275.00%
Elapsed time = 7055.41 sec. (2931872.48 ticks, tree = 872.60 MB, solutions = 4)
 2016096 45343       15.0000   160        4.0000       15.0000 2.47e+008  275.00%
 2017781 45347       15.0000   142        4.0000       15.0000 2.48e+008  275.00%
 2019222 45348       15.0000   131        4.0000       15.0000 2.48e+008  275.00%
 2021232 45359       15.0000   112        4.0000       15.0000 2.48e+008  275.00%
 2022933 45343       15.0000   144        4.0000       15.0000 2.49e+008  275.00%
 2024584 45372       15.0000   127        4.0000       15.0000 2.49e+008  275.00%
 2026172 45353       15.0000   183        4.0000       15.0000 2.49e+008  275.00%
 2027978 45347       15.0000   175        4.0000       15.0000 2.49e+008  275.00%
 2029936 45341       15.0000   127        4.0000       15.0000 2.50e+008  275.00%
 2031984 45371    infeasible              4.0000       15.0000 2.50e+008  275.00%
Elapsed time = 7167.27 sec. (2970275.63 ticks, tree = 873.29 MB, solutions = 4)
 2033383 45360       15.0000   140        4.0000       15.0000 2.50e+008  275.00%
 2035398 45356       15.0000   153        4.0000       15.0000 2.51e+008  275.00%
 2037099 45338    infeasible              4.0000       15.0000 2.51e+008  275.00%
 2039357 45349       15.0000   121        4.0000       15.0000 2.51e+008  275.00%
 2041045 45326       15.0000   160        4.0000       15.0000 2.51e+008  275.00%
 2042662 45376       15.0000   113        4.0000       15.0000 2.52e+008  275.00%
 2044406 45365       15.0000   174        4.0000       15.0000 2.52e+008  275.00%
 2046119 45353       15.0000   127        4.0000       15.0000 2.52e+008  275.00%
 2047712 45373       15.0000   113        4.0000       15.0000 2.53e+008  275.00%
 2049540 45350       15.0000   117        4.0000       15.0000 2.53e+008  275.00%
Elapsed time = 7277.53 sec. (3008612.43 ticks, tree = 872.74 MB, solutions = 4)
 2051186 45365       15.0000   139        4.0000       15.0000 2.53e+008  275.00%
 2052572 45367       15.0000   116        4.0000       15.0000 2.54e+008  275.00%
 2054191 45351       15.0000   140        4.0000       15.0000 2.54e+008  275.00%
 2056168 45363       15.0000   136        4.0000       15.0000 2.54e+008  275.00%
 2058198 45408    infeasible              4.0000       15.0000 2.54e+008  275.00%
 2060252 45374       15.0000   121        4.0000       15.0000 2.55e+008  275.00%
 2062167 45339       15.0000   125        4.0000       15.0000 2.55e+008  275.00%
 2063729 45352       15.0000   131        4.0000       15.0000 2.55e+008  275.00%
 2065498 45283       13.0000   106        4.0000       15.0000 2.56e+008  275.00%
 2067806 45071    infeasible              4.0000       14.9553 2.56e+008  273.88%
Elapsed time = 7380.00 sec. (3046906.16 ticks, tree = 868.75 MB, solutions = 4)
 2069978 44806       14.5357    94        4.0000       14.7165 2.56e+008  267.91%
 2071921 44908       13.0000   135        4.0000       14.5347 2.56e+008  263.37%
 2074463 44504       12.0000    84        4.0000       14.1914 2.57e+008  254.78%
 2076089 44507       14.0000   127        4.0000       14.0000 2.57e+008  250.00%
 2077212 44781       14.0000   110        4.0000       14.0000 2.57e+008  250.00%
 2078722 44935        cutoff              4.0000       14.0000 2.57e+008  250.00%
 2081824 44151       14.0000    67        4.0000       14.0000 2.57e+008  250.00%
 2084269 43377       13.0000    73        4.0000       14.0000 2.58e+008  250.00%
 2086612 42935       14.0000    74        4.0000       14.0000 2.58e+008  250.00%
 2089071 42444    infeasible              4.0000       14.0000 2.58e+008  250.00%
Elapsed time = 7477.30 sec. (3085114.86 ticks, tree = 827.06 MB, solutions = 4)
 2091203 41895    infeasible              4.0000       14.0000 2.58e+008  250.00%
 2093353 41392       14.0000   100        4.0000       14.0000 2.59e+008  250.00%
 2096358 40856       14.0000    81        4.0000       14.0000 2.59e+008  250.00%
 2098220 40444       14.0000    74        4.0000       14.0000 2.59e+008  250.00%
 2100513 40265       14.0000    96        4.0000       14.0000 2.60e+008  250.00%
 2102737 39981    infeasible              4.0000       14.0000 2.60e+008  250.00%
 2106062 39730    infeasible              4.0000       14.0000 2.60e+008  250.00%
 2108493 39489       14.0000   107        4.0000       14.0000 2.61e+008  250.00%
 2110874 39371       14.0000   100        4.0000       14.0000 2.61e+008  250.00%
 2112731 39212    infeasible              4.0000       14.0000 2.61e+008  250.00%
Elapsed time = 7580.14 sec. (3123407.46 ticks, tree = 762.89 MB, solutions = 4)
 2114873 39146       14.0000    99        4.0000       14.0000 2.61e+008  250.00%
 2116963 39080       14.0000   124        4.0000       14.0000 2.62e+008  250.00%
 2119133 38990    infeasible              4.0000       14.0000 2.62e+008  250.00%
 2121601 39037       14.0000   105        4.0000       14.0000 2.62e+008  250.00%
 2124084 38980    infeasible              4.0000       14.0000 2.63e+008  250.00%
 2125891 39004       13.0000    92        4.0000       14.0000 2.63e+008  250.00%
 2128956 39153    infeasible              4.0000       14.0000 2.63e+008  250.00%
 2130960 39237       14.0000    98        4.0000       14.0000 2.64e+008  250.00%
 2133214 39306       13.8654    72        4.0000       14.0000 2.64e+008  250.00%
 2135269 39253       14.0000   102        4.0000       14.0000 2.64e+008  250.00%
Elapsed time = 7693.38 sec. (3161727.70 ticks, tree = 767.27 MB, solutions = 4)
 2137047 39207       14.0000   142        4.0000       14.0000 2.64e+008  250.00%
 2138780 39128       14.0000   114        4.0000       14.0000 2.65e+008  250.00%
 2141525 39139       14.0000   148        4.0000       14.0000 2.65e+008  250.00%
 2143985 39074       14.0000   136        4.0000       14.0000 2.65e+008  250.00%
 2145978 39141       13.0000    93        4.0000       14.0000 2.66e+008  250.00%
 2148074 39305       14.0000    91        4.0000       14.0000 2.66e+008  250.00%
 2150387 39442       14.0000   112        4.0000       14.0000 2.66e+008  250.00%
 2152462 39457    infeasible              4.0000       14.0000 2.67e+008  250.00%
 2154798 39415       14.0000   146        4.0000       14.0000 2.67e+008  250.00%
 2157145 39436    infeasible              4.0000       14.0000 2.67e+008  250.00%
Elapsed time = 7803.34 sec. (3200080.35 ticks, tree = 774.80 MB, solutions = 4)
 2159396 39448    infeasible              4.0000       14.0000 2.67e+008  250.00%
 2161278 39644       14.0000   104        4.0000       14.0000 2.68e+008  250.00%
 2163261 39841    infeasible              4.0000       14.0000 2.68e+008  250.00%
 2165144 39966        cutoff              4.0000       14.0000 2.68e+008  250.00%
 2167168 40284       14.0000   150        4.0000       14.0000 2.69e+008  250.00%
 2169141 40598       14.0000   132        4.0000       14.0000 2.69e+008  250.00%
 2170803 40714       14.0000    96        4.0000       14.0000 2.69e+008  250.00%
 2173439 41044       13.0000    94        4.0000       14.0000 2.70e+008  250.00%
 2175409 41507       12.5392    77        4.0000       14.0000 2.70e+008  250.00%
 2176952 41686    infeasible              4.0000       14.0000 2.70e+008  250.00%
Elapsed time = 7914.13 sec. (3238313.62 ticks, tree = 828.51 MB, solutions = 4)
 2179181 41986       13.0000    78        4.0000       14.0000 2.70e+008  250.00%
 2181333 42267       14.0000    98        4.0000       14.0000 2.71e+008  250.00%
 2183705 42471       14.0000   170        4.0000       14.0000 2.71e+008  250.00%
 2185209 42613       14.0000   144        4.0000       14.0000 2.71e+008  250.00%
 2188081 42950       14.0000   123        4.0000       14.0000 2.72e+008  250.00%
 2189912 42921       14.0000   122        4.0000       14.0000 2.72e+008  250.00%
 2191403 43005       13.0000    77        4.0000       14.0000 2.72e+008  250.00%
 2192692 42981       14.0000    89        4.0000       14.0000 2.72e+008  250.00%
 2194491 43107        cutoff              4.0000       14.0000 2.73e+008  250.00%
 2196000 43281       13.0000    92        4.0000       14.0000 2.73e+008  250.00%
Elapsed time = 8012.44 sec. (3276645.18 ticks, tree = 864.81 MB, solutions = 4)
 2197812 43719       14.0000   114        4.0000       14.0000 2.73e+008  250.00%
 2199799 43990       14.0000   109        4.0000       14.0000 2.73e+008  250.00%
 2202496 44321       14.0000    84        4.0000       14.0000 2.74e+008  250.00%
 2204750 44399       14.0000    84        4.0000       14.0000 2.74e+008  250.00%
 2206795 44527       14.0000    86        4.0000       14.0000 2.74e+008  250.00%
 2209360 44625    infeasible              4.0000       14.0000 2.75e+008  250.00%
 2211866 44922       14.0000    86        4.0000       14.0000 2.75e+008  250.00%
 2215383 44896       14.0000   141        4.0000       14.0000 2.75e+008  250.00%
 2218414 44899       14.0000   115        4.0000       14.0000 2.76e+008  250.00%
 2221875 44827       14.0000   102        4.0000       14.0000 2.76e+008  250.00%
Elapsed time = 8110.88 sec. (3314882.85 ticks, tree = 901.85 MB, solutions = 4)
 2223868 44830       14.0000    88        4.0000       14.0000 2.76e+008  250.00%
 2227061 44928       14.0000   109        4.0000       14.0000 2.77e+008  250.00%
 2231471 44908       14.0000    70        4.0000       14.0000 2.77e+008  250.00%
 2234729 44895    infeasible              4.0000       14.0000 2.77e+008  250.00%
 2237818 44916    infeasible              4.0000       14.0000 2.78e+008  250.00%
 2243295 44877    infeasible              4.0000       14.0000 2.78e+008  250.00%
 2246832 44857       14.0000    95        4.0000       14.0000 2.78e+008  250.00%
 2249907 44944       14.0000    84        4.0000       14.0000 2.78e+008  250.00%
 2253484 45104       14.0000    86        4.0000       14.0000 2.79e+008  250.00%
 2261434 45189       14.0000    83        4.0000       14.0000 2.79e+008  250.00%
Elapsed time = 8203.74 sec. (3353185.08 ticks, tree = 912.01 MB, solutions = 4)
 2265192 45423    infeasible              4.0000       14.0000 2.79e+008  250.00%
 2271139 45304    infeasible              4.0000       14.0000 2.80e+008  250.00%
 2278123 45235       14.0000    80        4.0000       14.0000 2.80e+008  250.00%
 2282475 45093       14.0000    86        4.0000       14.0000 2.80e+008  250.00%
 2287986 45234       14.0000    61        4.0000       14.0000 2.81e+008  250.00%
 2292509 45091       14.0000    74        4.0000       14.0000 2.81e+008  250.00%
 2296597 45127    infeasible              4.0000       14.0000 2.81e+008  250.00%
 2300745 45160    infeasible              4.0000       14.0000 2.82e+008  250.00%
 2306394 45100    infeasible              4.0000       14.0000 2.82e+008  250.00%
 2310704 45066       14.0000    51        4.0000       14.0000 2.82e+008  250.00%
Elapsed time = 8305.30 sec. (3391458.68 ticks, tree = 906.39 MB, solutions = 4)
 2313784 45068    infeasible              4.0000       14.0000 2.83e+008  250.00%
 2318396 45014       14.0000    83        4.0000       14.0000 2.83e+008  250.00%
 2322180 45019    infeasible              4.0000       14.0000 2.83e+008  250.00%
 2326549 45127       14.0000    94        4.0000       14.0000 2.83e+008  250.00%
 2331158 45313    infeasible              4.0000       14.0000 2.84e+008  250.00%
 2335724 45198    infeasible              4.0000       14.0000 2.84e+008  250.00%
 2340662 45405       14.0000    90        4.0000       14.0000 2.84e+008  250.00%
 2346530 45143    infeasible              4.0000       14.0000 2.85e+008  250.00%
 2350727 45198       14.0000    65        4.0000       14.0000 2.85e+008  250.00%
 2354080 45048    infeasible              4.0000       14.0000 2.85e+008  250.00%
Elapsed time = 8405.66 sec. (3429743.01 ticks, tree = 907.54 MB, solutions = 4)
 2359202 45158       14.0000    53        4.0000       14.0000 2.86e+008  250.00%
 2364465 45205       14.0000    86        4.0000       14.0000 2.86e+008  250.00%
 2368932 45287    infeasible              4.0000       14.0000 2.86e+008  250.00%
 2374218 45074    infeasible              4.0000       14.0000 2.87e+008  250.00%
 2378289 45029       14.0000    87        4.0000       14.0000 2.87e+008  250.00%
 2381024 45046    infeasible              4.0000       14.0000 2.87e+008  250.00%
 2384628 45045       14.0000    95        4.0000       14.0000 2.88e+008  250.00%
 2387213 45022       14.0000   192        4.0000       14.0000 2.88e+008  250.00%
 2390465 45046       14.0000    71        4.0000       14.0000 2.88e+008  250.00%
 2393966 45000    infeasible              4.0000       14.0000 2.89e+008  250.00%
Elapsed time = 8510.49 sec. (3467990.48 ticks, tree = 906.11 MB, solutions = 4)
 2396979 45004    infeasible              4.0000       14.0000 2.89e+008  250.00%
 2399928 44967       14.0000    87        4.0000       14.0000 2.89e+008  250.00%
 2402830 45078       14.0000    76        4.0000       14.0000 2.89e+008  250.00%
 2405997 45029       14.0000   135        4.0000       14.0000 2.90e+008  250.00%
 2409562 45154       14.0000    51        4.0000       14.0000 2.90e+008  250.00%
 2413723 45153       14.0000   103        4.0000       14.0000 2.90e+008  250.00%
 2417680 44998    infeasible              4.0000       14.0000 2.91e+008  250.00%
 2420698 45014       14.0000   166        4.0000       14.0000 2.91e+008  250.00%
 2423403 45071       14.0000    48        4.0000       14.0000 2.91e+008  250.00%
 2426074 45153       14.0000   101        4.0000       14.0000 2.92e+008  250.00%
Elapsed time = 8619.88 sec. (3506281.59 ticks, tree = 909.11 MB, solutions = 4)
 2429504 45131    infeasible              4.0000       14.0000 2.92e+008  250.00%
 2432090 45190    infeasible              4.0000       14.0000 2.92e+008  250.00%
 2435604 45216    infeasible              4.0000       14.0000 2.92e+008  250.00%
 2440183 45394    infeasible              4.0000       14.0000 2.93e+008  250.00%
 2444984 45171       14.0000   100        4.0000       14.0000 2.93e+008  250.00%
 2449418 45136       14.0000    65        4.0000       14.0000 2.93e+008  250.00%
 2453106 45294       14.0000   139        4.0000       14.0000 2.94e+008  250.00%
 2456376 45181    infeasible              4.0000       14.0000 2.94e+008  250.00%
 2459387 45032       14.0000    99        4.0000       14.0000 2.94e+008  250.00%
 2472144 45380       14.0000    81        4.0000       14.0000 2.95e+008  250.00%
Elapsed time = 8766.45 sec. (3555973.46 ticks, tree = 911.88 MB, solutions = 4)
 2491104 45282       14.0000    91        4.0000       14.0000 2.97e+008  250.00%
 2502959 45399       14.0000   107        4.0000       14.0000 2.98e+008  250.00%
 2516081 45509       14.0000    77        4.0000       14.0000 2.99e+008  250.00%
 2530822 45394       14.0000    41        4.0000       14.0000 3.00e+008  250.00%
 2549116 45537       14.0000   110        4.0000       14.0000 3.01e+008  250.00%
 2570167 45593       14.0000    81        4.0000       14.0000 3.03e+008  250.00%
 2581819 45448       14.0000   100        4.0000       14.0000 3.04e+008  250.00%
 2593891 45562       14.0000    98        4.0000       14.0000 3.05e+008  250.00%
 2608881 45548    infeasible              4.0000       14.0000 3.06e+008  250.00%
 2620634 45563       14.0000   115        4.0000       14.0000 3.07e+008  250.00%
Elapsed time = 9169.94 sec. (3708653.80 ticks, tree = 919.09 MB, solutions = 4)
 2635371 45787    infeasible              4.0000       14.0000 3.08e+008  250.00%
 2652390 45734    infeasible              4.0000       14.0000 3.09e+008  250.00%
 2667003 46190       14.0000    94        4.0000       14.0000 3.10e+008  250.00%
 2680353 45684       14.0000   120        4.0000       14.0000 3.11e+008  250.00%
 2697378 45598       14.0000   107        4.0000       14.0000 3.12e+008  250.00%
 2712736 45645       14.0000    65        4.0000       14.0000 3.14e+008  250.00%
 2729510 45710    infeasible              4.0000       14.0000 3.15e+008  250.00%
 2748352 45441       14.0000    82        4.0000       14.0000 3.16e+008  250.00%
 2761863 45519       14.0000    78        4.0000       14.0000 3.17e+008  250.00%
 2771880 45597    infeasible              4.0000       14.0000 3.18e+008  250.00%
Elapsed time = 9584.49 sec. (3861371.78 ticks, tree = 917.45 MB, solutions = 4)
 2785421 45770       14.0000   121        4.0000       14.0000 3.19e+008  250.00%
 2802823 45600       14.0000    99        4.0000       14.0000 3.21e+008  250.00%
 2818661 45639    infeasible              4.0000       14.0000 3.22e+008  250.00%
 2832079 45803       14.0000    87        4.0000       14.0000 3.23e+008  250.00%
 2847889 45598       14.0000   145        4.0000       14.0000 3.24e+008  250.00%
 2861501 45586       14.0000    60        4.0000       14.0000 3.25e+008  250.00%
 2875442 45472       14.0000    83        4.0000       14.0000 3.26e+008  250.00%
 2889487 45530    infeasible              4.0000       14.0000 3.28e+008  250.00%
 2909007 45495       14.0000   168        4.0000       14.0000 3.29e+008  250.00%
 2925452 45445       14.0000   115        4.0000       14.0000 3.30e+008  250.00%
Elapsed time = 10005.05 sec. (4014109.92 ticks, tree = 917.83 MB, solutions = 4)
 2938267 45839       14.0000   100        4.0000       14.0000 3.31e+008  250.00%
 2953407 45536    infeasible              4.0000       14.0000 3.32e+008  250.00%
 2968359 45518       14.0000   170        4.0000       14.0000 3.34e+008  250.00%
 2980496 45526       14.0000   119        4.0000       14.0000 3.35e+008  250.00%
 2992435 45606       14.0000   112        4.0000       14.0000 3.36e+008  250.00%
 3006428 45472       14.0000   104        4.0000       14.0000 3.37e+008  250.00%
 3018241 45540       14.0000   144        4.0000       14.0000 3.38e+008  250.00%
 3031533 45521       14.0000    73        4.0000       14.0000 3.39e+008  250.00%
 3052955 46279    infeasible              4.0000       14.0000 3.41e+008  250.00%
 3074960 45884       14.0000    80        4.0000       14.0000 3.42e+008  250.00%
Elapsed time = 10423.50 sec. (4166773.00 ticks, tree = 923.99 MB, solutions = 4)
 3097551 45760       14.0000    87        4.0000       14.0000 3.43e+008  250.00%
 3112622 45494    infeasible              4.0000       14.0000 3.44e+008  250.00%
 3123370 45604       14.0000    97        4.0000       14.0000 3.45e+008  250.00%
 3139506 45722       14.0000    72        4.0000       14.0000 3.47e+008  250.00%
 3160426 45808       14.0000    92        4.0000       14.0000 3.48e+008  250.00%
 3182058 45711       14.0000   156        4.0000       14.0000 3.49e+008  250.00%
 3198098 45724       14.0000    92        4.0000       14.0000 3.50e+008  250.00%
 3217373 45652       14.0000   147        4.0000       14.0000 3.51e+008  250.00%
 3234488 45719       14.0000    97        4.0000       14.0000 3.53e+008  250.00%
 3248307 45689       14.0000    40        4.0000       14.0000 3.54e+008  250.00%
Elapsed time = 10843.95 sec. (4319486.64 ticks, tree = 922.03 MB, solutions = 4)
 3264380 45605       14.0000   117        4.0000       14.0000 3.55e+008  250.00%
 3276845 45646    infeasible              4.0000       14.0000 3.56e+008  250.00%
 3296574 45655       14.0000   162        4.0000       14.0000 3.57e+008  250.00%
 3313825 45976    infeasible              4.0000       14.0000 3.58e+008  250.00%
 3333669 46052    infeasible              4.0000       14.0000 3.60e+008  250.00%
 3353858 45737       14.0000    77        4.0000       14.0000 3.61e+008  250.00%
 3370402 45584       14.0000   136        4.0000       14.0000 3.62e+008  250.00%
 3384081 45799       14.0000   100        4.0000       14.0000 3.63e+008  250.00%
 3395796 45836       14.0000   125        4.0000       14.0000 3.64e+008  250.00%
 3406238 45914       14.0000    97        4.0000       14.0000 3.65e+008  250.00%
Elapsed time = 11260.30 sec. (4472251.40 ticks, tree = 928.69 MB, solutions = 4)
 3417578 45994    infeasible              4.0000       14.0000 3.67e+008  250.00%
 3428391 45853       14.0000    99        4.0000       14.0000 3.68e+008  250.00%
 3444464 45852    infeasible              4.0000       14.0000 3.69e+008  250.00%
 3455542 45799       14.0000   101        4.0000       14.0000 3.70e+008  250.00%
 3465930 45861       14.0000    90        4.0000       14.0000 3.71e+008  250.00%
 3476219 45835    infeasible              4.0000       14.0000 3.72e+008  250.00%
 3490508 45866       14.0000   121        4.0000       14.0000 3.74e+008  250.00%
 3501142 45830       14.0000    86        4.0000       14.0000 3.75e+008  250.00%
 3514423 45846       14.0000   118        4.0000       14.0000 3.76e+008  250.00%
 3525909 46058    infeasible              4.0000       14.0000 3.77e+008  250.00%
Elapsed time = 11680.95 sec. (4624949.88 ticks, tree = 928.89 MB, solutions = 4)
 3542406 45908       14.0000    77        4.0000       14.0000 3.78e+008  250.00%
 3562025 45887       14.0000   118        4.0000       14.0000 3.79e+008  250.00%
 3573234 46053       14.0000    62        4.0000       14.0000 3.80e+008  250.00%
 3584155 46294       14.0000   158        4.0000       14.0000 3.82e+008  250.00%
 3592831 46296    infeasible              4.0000       14.0000 3.83e+008  250.00%
 3602116 46717    infeasible              4.0000       14.0000 3.84e+008  250.00%
 3611669 46539       14.0000   138        4.0000       14.0000 3.85e+008  250.00%
 3622022 46104       14.0000    91        4.0000       14.0000 3.86e+008  250.00%
 3631561 46062       14.0000    85        4.0000       14.0000 3.87e+008  250.00%
 3649183 45952       14.0000    79        4.0000       14.0000 3.88e+008  250.00%
Elapsed time = 12061.67 sec. (4777697.29 ticks, tree = 929.38 MB, solutions = 4)
 3667886 46412       14.0000    70        4.0000       14.0000 3.89e+008  250.00%
 3688030 45999       14.0000    98        4.0000       14.0000 3.90e+008  250.00%
 3704792 45972       14.0000    89        4.0000       14.0000 3.91e+008  250.00%
 3721909 46084       14.0000    93        4.0000       14.0000 3.92e+008  250.00%
 3742761 45938       14.0000    78        4.0000       14.0000 3.94e+008  250.00%
 3762061 46039       14.0000    79        4.0000       14.0000 3.95e+008  250.00%
 3779949 46096       14.0000   103        4.0000       14.0000 3.96e+008  250.00%
 3795288 45891    infeasible              4.0000       14.0000 3.97e+008  250.00%
 3811708 46101       14.0000    99        4.0000       14.0000 3.98e+008  250.00%
 3828009 46143       14.0000   135        4.0000       14.0000 4.00e+008  250.00%
Elapsed time = 12478.00 sec. (4930399.90 ticks, tree = 928.78 MB, solutions = 4)
 3845372 46021       14.0000    94        4.0000       14.0000 4.01e+008  250.00%
 3863058 45977       14.0000    99        4.0000       14.0000 4.02e+008  250.00%
 3880545 45910    infeasible              4.0000       14.0000 4.03e+008  250.00%
 3900854 46240       14.0000   107        4.0000       14.0000 4.04e+008  250.00%
 3922417 46111    infeasible              4.0000       14.0000 4.05e+008  250.00%
 3944281 45923       14.0000    94        4.0000       14.0000 4.07e+008  250.00%
 3963685 46193       14.0000   105        4.0000       14.0000 4.08e+008  250.00%
 3989700 46145       14.0000    67        4.0000       14.0000 4.09e+008  250.00%
 4009523 46148       14.0000    83        4.0000       14.0000 4.10e+008  250.00%
 4024598 45902       14.0000   124        4.0000       14.0000 4.11e+008  250.00%
Elapsed time = 12899.13 sec. (5083108.73 ticks, tree = 927.79 MB, solutions = 4)
 4043504 45949    infeasible              4.0000       14.0000 4.12e+008  250.00%
 4062774 45972    infeasible              4.0000       14.0000 4.14e+008  250.00%
 4084623 46104    infeasible              4.0000       14.0000 4.15e+008  250.00%
 4103903 46401       14.0000   128        4.0000       14.0000 4.16e+008  250.00%
 4122023 46125       14.0000    98        4.0000       14.0000 4.17e+008  250.00%
 4138905 46077       14.0000   147        4.0000       14.0000 4.18e+008  250.00%
 4157180 45885    infeasible              4.0000       14.0000 4.20e+008  250.00%
 4171765 45856       14.0000    83        4.0000       14.0000 4.21e+008  250.00%
 4186492 45893       14.0000    74        4.0000       14.0000 4.22e+008  250.00%
 4203586 45963    infeasible              4.0000       14.0000 4.23e+008  250.00%
Elapsed time = 13334.06 sec. (5235775.49 ticks, tree = 927.94 MB, solutions = 4)
 4219822 45999    infeasible              4.0000       14.0000 4.24e+008  250.00%
 4235197 45894       14.0000   121        4.0000       14.0000 4.26e+008  250.00%
 4246476 45868       14.0000   165        4.0000       14.0000 4.27e+008  250.00%
 4264632 46021       14.0000   131        4.0000       14.0000 4.28e+008  250.00%
 4282844 46128    infeasible              4.0000       14.0000 4.29e+008  250.00%
 4300056 45904       14.0000    80        4.0000       14.0000 4.30e+008  250.00%
 4316181 45899    infeasible              4.0000       14.0000 4.32e+008  250.00%
 4330431 45806    infeasible              4.0000       14.0000 4.33e+008  250.00%
 4346231 45945       14.0000   117        4.0000       14.0000 4.34e+008  250.00%
 4363006 45809    infeasible              4.0000       14.0000 4.35e+008  250.00%
Elapsed time = 13756.78 sec. (5388438.34 ticks, tree = 925.70 MB, solutions = 4)
 4380654 45801       14.0000    85        4.0000       14.0000 4.36e+008  250.00%
 4400759 45801       14.0000   134        4.0000       14.0000 4.37e+008  250.00%
 4413829 45792       14.0000    94        4.0000       14.0000 4.39e+008  250.00%
 4427783 46034       14.0000    78        4.0000       14.0000 4.40e+008  250.00%
 4449031 46164       14.0000   161        4.0000       14.0000 4.41e+008  250.00%
 4466026 46297       14.0000   161        4.0000       14.0000 4.42e+008  250.00%
 4481064 46474       14.0000    89        4.0000       14.0000 4.43e+008  250.00%
 4496222 46489       14.0000    86        4.0000       14.0000 4.44e+008  250.00%
 4514691 46276       14.0000   145        4.0000       14.0000 4.46e+008  250.00%
 4530863 46344    infeasible              4.0000       14.0000 4.47e+008  250.00%
Elapsed time = 14129.59 sec. (5541139.43 ticks, tree = 939.35 MB, solutions = 4)
 4550222 46210    infeasible              4.0000       14.0000 4.48e+008  250.00%
 4571606 46318       14.0000    73        4.0000       14.0000 4.49e+008  250.00%
 4588627 46429    infeasible              4.0000       14.0000 4.50e+008  250.00%
 4607660 46502       14.0000   124        4.0000       14.0000 4.51e+008  250.00%
 4627751 46848       14.0000    84        4.0000       14.0000 4.53e+008  250.00%
 4648675 47012       14.0000    50        4.0000       14.0000 4.54e+008  250.00%
 4668030 46727    infeasible              4.0000       14.0000 4.55e+008  250.00%
 4687203 46690       14.0000    79        4.0000       14.0000 4.56e+008  250.00%
 4703486 46789       14.0000    93        4.0000       14.0000 4.57e+008  250.00%
 4722755 46679       14.0000   165        4.0000       14.0000 4.58e+008  250.00%
Elapsed time = 14530.31 sec. (5693844.74 ticks, tree = 942.82 MB, solutions = 4)
 4738424 46471       14.0000    94        4.0000       14.0000 4.59e+008  250.00%
 4753245 46436    infeasible              4.0000       14.0000 4.61e+008  250.00%
 4768431 46790       14.0000    74        4.0000       14.0000 4.62e+008  250.00%
 4790119 46603    infeasible              4.0000       14.0000 4.63e+008  250.00%
 4809358 46697    infeasible              4.0000       14.0000 4.64e+008  250.00%
 4831008 46726       14.0000    74        4.0000       14.0000 4.65e+008  250.00%
 4847848 46473       14.0000   117        4.0000       14.0000 4.66e+008  250.00%
 4864685 46516    infeasible              4.0000       14.0000 4.67e+008  250.00%
 4879216 46750       14.0000   109        4.0000       14.0000 4.68e+008  250.00%
 4892636 46710       14.0000    98        4.0000       14.0000 4.70e+008  250.00%
Elapsed time = 14940.34 sec. (5846510.56 ticks, tree = 945.56 MB, solutions = 4)
 4905791 46646       14.0000    73        4.0000       14.0000 4.71e+008  250.00%
 4922029 46678    infeasible              4.0000       14.0000 4.72e+008  250.00%
 4943774 46891    infeasible              4.0000       14.0000 4.73e+008  250.00%
 4963088 46711       14.0000   112        4.0000       14.0000 4.74e+008  250.00%
 4977396 46728       14.0000   130        4.0000       14.0000 4.75e+008  250.00%
 4996692 46949       14.0000   128        4.0000       14.0000 4.76e+008  250.00%
 5009916 46919       14.0000   177        4.0000       14.0000 4.77e+008  250.00%
 5026832 46885       14.0000   103        4.0000       14.0000 4.78e+008  250.00%
 5043292 47013       14.0000   150        4.0000       14.0000 4.79e+008  250.00%
 5057018 46841       14.0000   119        4.0000       14.0000 4.80e+008  250.00%
Elapsed time = 15336.20 sec. (5999162.76 ticks, tree = 947.53 MB, solutions = 4)
 5070054 47134       14.0000    84        4.0000       14.0000 4.81e+008  250.00%
 5086928 47073    infeasible              4.0000       14.0000 4.82e+008  250.00%
 5104359 47031    infeasible              4.0000       14.0000 4.83e+008  250.00%
 5121198 47444       14.0000    51        4.0000       14.0000 4.84e+008  250.00%
 5147303 47188       14.0000    58        4.0000       14.0000 4.86e+008  250.00%
 5167064 47203       14.0000   116        4.0000       14.0000 4.87e+008  250.00%
 5185870 47193       14.0000    77        4.0000       14.0000 4.88e+008  250.00%
 5206404 46880    infeasible              4.0000       14.0000 4.89e+008  250.00%
 5221288 46921    infeasible              4.0000       14.0000 4.90e+008  250.00%
 5241588 46930       14.0000    97        4.0000       14.0000 4.91e+008  250.00%
Elapsed time = 15735.11 sec. (6151836.36 ticks, tree = 951.03 MB, solutions = 4)
 5259634 46982       14.0000    97        4.0000       14.0000 4.92e+008  250.00%
 5278626 46827    infeasible              4.0000       14.0000 4.93e+008  250.00%
 5301211 46932       14.0000    83        4.0000       14.0000 4.95e+008  250.00%
 5325622 46979       14.0000    87        4.0000       14.0000 4.96e+008  250.00%
 5346714 46908       14.0000    94        4.0000       14.0000 4.97e+008  250.00%
 5366618 47035       14.0000   115        4.0000       14.0000 4.98e+008  250.00%
 5387392 47118       14.0000   141        4.0000       14.0000 4.99e+008  250.00%
 5414193 46977       14.0000    51        4.0000       14.0000 5.00e+008  250.00%
 5428922 46934    infeasible              4.0000       14.0000 5.01e+008  250.00%
 5446512 47337    infeasible              4.0000       14.0000 5.02e+008  250.00%
Elapsed time = 16134.30 sec. (6304509.53 ticks, tree = 952.28 MB, solutions = 4)
 5460044 47174       14.0000    86        4.0000       14.0000 5.03e+008  250.00%
 5472295 46927    infeasible              4.0000       14.0000 5.04e+008  250.00%
 5487529 46845       14.0000    96        4.0000       14.0000 5.06e+008  250.00%
 5502760 46742       14.0000    73        4.0000       14.0000 5.07e+008  250.00%
 5518102 46598       14.0000    88        4.0000       14.0000 5.08e+008  250.00%
 5535556 46568    infeasible              4.0000       14.0000 5.09e+008  250.00%
 5551502 46831    infeasible              4.0000       14.0000 5.10e+008  250.00%
 5572832 46461       14.0000   118        4.0000       14.0000 5.11e+008  250.00%
 5585855 46579       14.0000   107        4.0000       14.0000 5.12e+008  250.00%
 5604650 46519    infeasible              4.0000       14.0000 5.13e+008  250.00%
Elapsed time = 16547.08 sec. (6457182.30 ticks, tree = 941.95 MB, solutions = 4)
 5616451 46355       14.0000   101        4.0000       14.0000 5.15e+008  250.00%
 5630778 46300    infeasible              4.0000       14.0000 5.16e+008  250.00%
 5644860 46431       14.0000    96        4.0000       14.0000 5.17e+008  250.00%
 5655869 46367       14.0000    84        4.0000       14.0000 5.18e+008  250.00%
 5670108 46401    infeasible              4.0000       14.0000 5.19e+008  250.00%
 5687258 46300    infeasible              4.0000       14.0000 5.20e+008  250.00%
 5702589 46381       14.0000    71        4.0000       14.0000 5.21e+008  250.00%
 5718688 46322       14.0000   117        4.0000       14.0000 5.22e+008  250.00%
 5729797 46095    infeasible              4.0000       14.0000 5.23e+008  250.00%
 5748491 46260       14.0000   150        4.0000       14.0000 5.24e+008  250.00%
Elapsed time = 16948.14 sec. (6609918.50 ticks, tree = 934.85 MB, solutions = 4)
 5768060 46288       14.0000    75        4.0000       14.0000 5.25e+008  250.00%
 5783405 46355       14.0000    87        4.0000       14.0000 5.26e+008  250.00%
 5794868 46002       14.0000   130        4.0000       14.0000 5.27e+008  250.00%
 5810478 45967       14.0000   103        4.0000       14.0000 5.28e+008  250.00%
 5824327 46078    infeasible              4.0000       14.0000 5.30e+008  250.00%
 5837556 46469       14.0000   116        4.0000       14.0000 5.31e+008  250.00%
 5849154 46039    infeasible              4.0000       14.0000 5.32e+008  250.00%
 5859554 46036    infeasible              4.0000       14.0000 5.33e+008  250.00%
 5875637 45967    infeasible              4.0000       14.0000 5.34e+008  250.00%
 5890610 46020    infeasible              4.0000       14.0000 5.35e+008  250.00%
Elapsed time = 17360.89 sec. (6762606.10 ticks, tree = 930.07 MB, solutions = 4)
 5904014 45891       14.0000    85        4.0000       14.0000 5.36e+008  250.00%
 5914257 45855       14.0000    95        4.0000       14.0000 5.37e+008  250.00%
 5926039 45873       14.0000   107        4.0000       14.0000 5.38e+008  250.00%
 5938880 45859    infeasible              4.0000       14.0000 5.39e+008  250.00%
 5955516 45963       14.0000    88        4.0000       14.0000 5.41e+008  250.00%
 5976026 45841       14.0000    98        4.0000       14.0000 5.42e+008  250.00%
 5989730 45854    infeasible              4.0000       14.0000 5.43e+008  250.00%
 5999434 45856       14.0000   154        4.0000       14.0000 5.44e+008  250.00%
 6012736 45922       14.0000    76        4.0000       14.0000 5.45e+008  250.00%
 6025161 46063       14.0000   160        4.0000       14.0000 5.46e+008  250.00%
Elapsed time = 17788.69 sec. (6915321.61 ticks, tree = 931.15 MB, solutions = 4)
 6036068 46164       14.0000   101        4.0000       14.0000 5.47e+008  250.00%
 6061776 46459       14.0000    88        4.0000       14.0000 5.48e+008  250.00%
 6079333 46440    infeasible              4.0000       14.0000 5.49e+008  250.00%
 6099221 46415       14.0000    75        4.0000       14.0000 5.50e+008  250.00%
 6120619 46291       14.0000   101        4.0000       14.0000 5.51e+008  250.00%
 6140408 46339    infeasible              4.0000       14.0000 5.52e+008  250.00%
 6155603 46235    infeasible              4.0000       14.0000 5.53e+008  250.00%
 6170782 46367       14.0000   116        4.0000       14.0000 5.54e+008  250.00%
 6188785 46422       14.0000    95        4.0000       14.0000 5.56e+008  250.00%
 6213143 46390    infeasible              4.0000       14.0000 5.57e+008  250.00%
Elapsed time = 18184.22 sec. (7068007.30 ticks, tree = 939.09 MB, solutions = 4)
 6227804 46343       14.0000    87        4.0000       14.0000 5.58e+008  250.00%
 6239938 46352       14.0000    67        4.0000       14.0000 5.59e+008  250.00%
 6253619 46232       14.0000    95        4.0000       14.0000 5.60e+008  250.00%
 6265154 46246    infeasible              4.0000       14.0000 5.61e+008  250.00%
 6279062 46114    infeasible              4.0000       14.0000 5.62e+008  250.00%
 6292964 46125    infeasible              4.0000       14.0000 5.63e+008  250.00%
 6306475 46099       14.0000    85        4.0000       14.0000 5.64e+008  250.00%
 6319891 45931       14.0000   102        4.0000       14.0000 5.66e+008  250.00%
 6333923 46061       14.0000    92        4.0000       14.0000 5.67e+008  250.00%
 6351912 46021       14.0000    78        4.0000       14.0000 5.68e+008  250.00%
Elapsed time = 18596.03 sec. (7220700.18 ticks, tree = 930.72 MB, solutions = 4)
 6376621 46510       14.0000    68        4.0000       14.0000 5.69e+008  250.00%
 6403143 46460       14.0000   131        4.0000       14.0000 5.70e+008  250.00%
 6428060 46061       14.0000   105        4.0000       14.0000 5.71e+008  250.00%
 6452235 46138       14.0000   120        4.0000       14.0000 5.72e+008  250.00%
 6472594 46052       14.0000   130        4.0000       14.0000 5.74e+008  250.00%
 6492964 45923    infeasible              4.0000       14.0000 5.75e+008  250.00%
 6508443 45975    infeasible              4.0000       14.0000 5.76e+008  250.00%
 6524192 45858       14.0000    88        4.0000       14.0000 5.77e+008  250.00%
 6535906 45881       14.0000   103        4.0000       14.0000 5.78e+008  250.00%
 6550105 46026       14.0000    70        4.0000       14.0000 5.79e+008  250.00%
Elapsed time = 19006.38 sec. (7373381.86 ticks, tree = 927.70 MB, solutions = 4)
 6562741 45808       14.0000    96        4.0000       14.0000 5.80e+008  250.00%
 6574222 46082        cutoff              4.0000       14.0000 5.82e+008  250.00%
 6587915 47376       14.0000    46        4.0000       14.0000 5.83e+008  250.00%
 6607244 47744        cutoff              4.0000       14.0000 5.84e+008  250.00%
 6618541 47860       14.0000   105        4.0000       14.0000 5.85e+008  250.00%
 6630951 47825       14.0000   184        4.0000       14.0000 5.86e+008  250.00%
 6643410 47869    infeasible              4.0000       14.0000 5.87e+008  250.00%
 6658408 48256       14.0000    91        4.0000       14.0000 5.89e+008  250.00%
 6670728 48279    infeasible              4.0000       14.0000 5.90e+008  250.00%
 6687704 48257        cutoff              4.0000       14.0000 5.91e+008  250.00%
Elapsed time = 19374.36 sec. (7526056.11 ticks, tree = 986.71 MB, solutions = 4)
 6699855 48445       14.0000    77        4.0000       14.0000 5.92e+008  250.00%
 6711602 48447       14.0000   116        4.0000       14.0000 5.93e+008  250.00%
 6724660 48534    infeasible              4.0000       14.0000 5.94e+008  250.00%
 6735967 48503       14.0000    58        4.0000       14.0000 5.96e+008  250.00%
 6754717 48549    infeasible              4.0000       14.0000 5.97e+008  250.00%
 6773017 49421       14.0000    76        4.0000       14.0000 5.98e+008  250.00%
 6784556 51036       13.0000    87        4.0000       14.0000 5.99e+008  250.00%
 6795593 52576       14.0000    97        4.0000       14.0000 6.00e+008  250.00%
 6805481 53413       14.0000    83        4.0000       14.0000 6.02e+008  250.00%
 6817461 53548       14.0000   109        4.0000       14.0000 6.03e+008  250.00%
Elapsed time = 19717.92 sec. (7678870.81 ticks, tree = 1117.34 MB, solutions = 4)
 6833860 53755       14.0000   154        4.0000       14.0000 6.04e+008  250.00%
 6844859 54619       14.0000    93        4.0000       14.0000 6.05e+008  250.00%
 6854099 54732       14.0000   124        4.0000       14.0000 6.06e+008  250.00%
 6864499 56383    infeasible              4.0000       14.0000 6.07e+008  250.00%
 6876169 58559       14.0000   107        4.0000       14.0000 6.08e+008  250.00%
 6886511 60981       14.0000    87        4.0000       14.0000 6.10e+008  250.00%
 6897703 64207        8.0000   131        4.0000       14.0000 6.11e+008  250.00%
 6908720 67324       14.0000    95        4.0000       14.0000 6.12e+008  250.00%
 6918384 69462       14.0000   143        4.0000       14.0000 6.13e+008  250.00%
 6926894 69511       14.0000   106        4.0000       14.0000 6.14e+008  250.00%
Elapsed time = 20062.19 sec. (7831623.17 ticks, tree = 1536.80 MB, solutions = 4)
 6934428 69525    infeasible              4.0000       14.0000 6.15e+008  250.00%
 6941366 69487       14.0000   103        4.0000       14.0000 6.16e+008  250.00%
 6949274 69486       14.0000   133        4.0000       14.0000 6.17e+008  250.00%
 6956500 69776       14.0000   153        4.0000       14.0000 6.18e+008  250.00%
 6964277 69795    infeasible              4.0000       14.0000 6.19e+008  250.00%
 6972087 69787       14.0000   137        4.0000       14.0000 6.20e+008  250.00%
 6979567 69755       14.0000    98        4.0000       14.0000 6.21e+008  250.00%
 6986835 69765       14.0000   112        4.0000       14.0000 6.23e+008  250.00%
 6994991 70205    infeasible              4.0000       14.0000 6.24e+008  250.00%
 7002844 70203       14.0000   144        4.0000       14.0000 6.25e+008  250.00%
Elapsed time = 20408.30 sec. (7984411.15 ticks, tree = 1556.09 MB, solutions = 4)
 7011354 70513       14.0000   110        4.0000       14.0000 6.26e+008  250.00%
 7019329 71156    infeasible              4.0000       14.0000 6.27e+008  250.00%
 7026320 71648       14.0000   113        4.0000       14.0000 6.28e+008  250.00%
 7031188 71656       14.0000   123        4.0000       14.0000 6.29e+008  250.00%
 7037827 72384    infeasible              4.0000       14.0000 6.30e+008  250.00%
 7044346 72807       14.0000   132        4.0000       14.0000 6.31e+008  250.00%
 7049410 72809       14.0000    73        4.0000       14.0000 6.32e+008  250.00%
 7055668 72819       14.0000   121        4.0000       14.0000 6.33e+008  250.00%
 7061712 72827       14.0000   131        4.0000       14.0000 6.34e+008  250.00%
 7068812 74049       14.0000   131        4.0000       14.0000 6.35e+008  250.00%
Elapsed time = 20783.91 sec. (8137162.35 ticks, tree = 1661.57 MB, solutions = 4)
 7075058 74306       14.0000   109        4.0000       14.0000 6.36e+008  250.00%
 7083318 75374       14.0000   121        4.0000       14.0000 6.37e+008  250.00%
 7089263 75769       14.0000    97        4.0000       14.0000 6.38e+008  250.00%
 7095158 75800       14.0000   131        4.0000       14.0000 6.39e+008  250.00%
 7100936 75798       14.0000   125        4.0000       14.0000 6.40e+008  250.00%
 7106745 75786       14.0000   153        4.0000       14.0000 6.41e+008  250.00%
 7112778 75822    infeasible              4.0000       14.0000 6.43e+008  250.00%
 7120646 75844    infeasible              4.0000       14.0000 6.43e+008  250.00%
 7126865 75793    infeasible              4.0000       14.0000 6.44e+008  250.00%
 7134414 75837       14.0000    86        4.0000       14.0000 6.45e+008  250.00%
Elapsed time = 21165.58 sec. (8289968.27 ticks, tree = 1713.06 MB, solutions = 4)
 7142305 75848    infeasible              4.0000       14.0000 6.46e+008  250.00%
 7149521 75795       14.0000   138        4.0000       14.0000 6.47e+008  250.00%
 7156915 75806       14.0000   119        4.0000       14.0000 6.48e+008  250.00%
 7164025 75794       14.0000    64        4.0000       14.0000 6.49e+008  250.00%
 7169836 75800       14.0000   126        4.0000       14.0000 6.50e+008  250.00%
 7177248 75832       14.0000    84        4.0000       14.0000 6.51e+008  250.00%
 7183317 75774    infeasible              4.0000       14.0000 6.52e+008  250.00%
 7188266 75818       14.0000   113        4.0000       14.0000 6.53e+008  250.00%
 7194389 75827       14.0000   121        4.0000       14.0000 6.54e+008  250.00%
 7201191 75827    infeasible              4.0000       14.0000 6.55e+008  250.00%
Elapsed time = 21555.20 sec. (8442785.85 ticks, tree = 1712.50 MB, solutions = 4)
 7207229 75777    infeasible              4.0000       14.0000 6.56e+008  250.00%
 7212577 75779    infeasible              4.0000       14.0000 6.57e+008  250.00%
 7219560 75792    infeasible              4.0000       14.0000 6.58e+008  250.00%
 7226593 75785       14.0000   107        4.0000       14.0000 6.59e+008  250.00%
 7232990 75779    infeasible              4.0000       14.0000 6.60e+008  250.00%
 7240068 75772       14.0000   134        4.0000       14.0000 6.61e+008  250.00%
 7246823 75761    infeasible              4.0000       14.0000 6.62e+008  250.00%
 7253126 75750    infeasible              4.0000       14.0000 6.63e+008  250.00%
 7258942 75731       14.0000   118        4.0000       14.0000 6.64e+008  250.00%
 7266386 75753       14.0000    85        4.0000       14.0000 6.65e+008  250.00%
Elapsed time = 21944.67 sec. (8595543.30 ticks, tree = 1710.74 MB, solutions = 4)
 7274228 75802       14.0000   163        4.0000       14.0000 6.66e+008  250.00%
 7281718 75702       14.0000    93        4.0000       14.0000 6.67e+008  250.00%
 7288200 75711       14.0000   122        4.0000       14.0000 6.68e+008  250.00%
 7293690 75682       14.0000   145        4.0000       14.0000 6.69e+008  250.00%
 7299296 75690       14.0000   122        4.0000       14.0000 6.70e+008  250.00%
 7304294 75674       14.0000    71        4.0000       14.0000 6.71e+008  250.00%
 7309279 75586       14.0000   168        4.0000       14.0000 6.72e+008  250.00%
 7315989 75207       12.0000    96        4.0000       13.6670 6.73e+008  241.68%
 7323999 73490    infeasible              4.0000       13.0000 6.74e+008  225.00%
 7332458 70884       13.0000    68        4.0000       13.0000 6.75e+008  225.00%
Elapsed time = 22367.41 sec. (8748282.92 ticks, tree = 1621.48 MB, solutions = 4)
 7340261 68869       13.0000   135        4.0000       13.0000 6.75e+008  225.00%
 7347830 67014    infeasible              4.0000       13.0000 6.76e+008  225.00%
 7355340 65558    infeasible              4.0000       13.0000 6.77e+008  225.00%
 7362479 64431       12.0000    65        4.0000       13.0000 6.78e+008  225.00%
 7369814 63309       13.0000   101        4.0000       13.0000 6.79e+008  225.00%
 7376669 62282    infeasible              4.0000       13.0000 6.80e+008  225.00%
 7383551 61501       13.0000   106        4.0000       13.0000 6.81e+008  225.00%
 7390215 60789       13.0000   103        4.0000       13.0000 6.82e+008  225.00%
 7396974 60346       12.0000    72        4.0000       13.0000 6.83e+008  225.00%
 7403272 60001    infeasible              4.0000       13.0000 6.84e+008  225.00%
Elapsed time = 22872.39 sec. (8901019.24 ticks, tree = 1407.48 MB, solutions = 4)
 7410060 59715       13.0000    90        4.0000       13.0000 6.85e+008  225.00%
 7416652 59535       13.0000    65        4.0000       13.0000 6.86e+008  225.00%
 7422959 59333       13.0000   104        4.0000       13.0000 6.87e+008  225.00%
 7429329 59423       13.0000    90        4.0000       13.0000 6.88e+008  225.00%
 7436149 59694       13.0000   105        4.0000       13.0000 6.89e+008  225.00%
 7442428 59771       13.0000   154        4.0000       13.0000 6.89e+008  225.00%
 7448873 59957       13.0000    92        4.0000       13.0000 6.90e+008  225.00%
 7455657 60097       13.0000    83        4.0000       13.0000 6.91e+008  225.00%
 7461760 60218       13.0000    84        4.0000       13.0000 6.92e+008  225.00%
 7467958 60321       13.0000    72        4.0000       13.0000 6.93e+008  225.00%
Elapsed time = 23409.66 sec. (9053749.56 ticks, tree = 1446.87 MB, solutions = 4)
 7474609 60519    infeasible              4.0000       13.0000 6.94e+008  225.00%
 7480989 60549       13.0000    72        4.0000       13.0000 6.95e+008  225.00%
 7487838 60801       13.0000   106        4.0000       13.0000 6.96e+008  225.00%
 7494464 61162       13.0000   168        4.0000       13.0000 6.97e+008  225.00%
 7501514 61359       13.0000   114        4.0000       13.0000 6.98e+008  225.00%
 7508556 61383    infeasible              4.0000       13.0000 6.99e+008  225.00%
 7516130 61480       13.0000    72        4.0000       13.0000 7.00e+008  225.00%
 7523515 61798       13.0000   125        4.0000       13.0000 7.01e+008  225.00%
 7531496 62299    infeasible              4.0000       13.0000 7.02e+008  225.00%
 7538154 62226    infeasible              4.0000       13.0000 7.03e+008  225.00%
Elapsed time = 23960.24 sec. (9206459.19 ticks, tree = 1519.58 MB, solutions = 4)
 7544991 62648       13.0000    96        4.0000       13.0000 7.03e+008  225.00%
 7552060 62720       13.0000   137        4.0000       13.0000 7.05e+008  225.00%
 7559368 63014       13.0000    77        4.0000       13.0000 7.06e+008  225.00%
 7565893 63407       13.0000    88        4.0000       13.0000 7.06e+008  225.00%
 7573046 63681       12.0000   134        4.0000       13.0000 7.07e+008  225.00%
 7578713 63872       11.0000    92        4.0000       13.0000 7.08e+008  225.00%
 7584961 64106       13.0000    81        4.0000       13.0000 7.09e+008  225.00%
 7593738 65883       13.0000    81        4.0000       13.0000 7.10e+008  225.00%
 7599999 66069    infeasible              4.0000       13.0000 7.11e+008  225.00%
 7606652 66348       13.0000   123        4.0000       13.0000 7.12e+008  225.00%
Elapsed time = 24631.19 sec. (9359213.12 ticks, tree = 1652.12 MB, solutions = 4)
 7612997 66521       13.0000   107        4.0000       13.0000 7.13e+008  225.00%
 7619386 66992       13.0000   141        4.0000       13.0000 7.14e+008  225.00%
 7625222 67063    infeasible              4.0000       13.0000 7.15e+008  225.00%
 7631641 67513    infeasible              4.0000       13.0000 7.16e+008  225.00%
 7637852 67782        cutoff              4.0000       13.0000 7.17e+008  225.00%
 7644460 68385       12.0000    91        4.0000       13.0000 7.18e+008  225.00%
 7650998 68606       13.0000    61        4.0000       13.0000 7.19e+008  225.00%
 7657505 68777        cutoff              4.0000       13.0000 7.20e+008  225.00%
 7662876 68809       13.0000   118        4.0000       13.0000 7.21e+008  225.00%
 7668839 68890    infeasible              4.0000       13.0000 7.22e+008  225.00%
Elapsed time = 25333.42 sec. (9511953.86 ticks, tree = 1734.31 MB, solutions = 4)
 7675078 68960       12.0000    85        4.0000       13.0000 7.23e+008  225.00%
 7680847 69145       13.0000    92        4.0000       13.0000 7.24e+008  225.00%
 7686527 69529       13.0000   100        4.0000       13.0000 7.25e+008  225.00%
 7692701 69747    infeasible              4.0000       13.0000 7.26e+008  225.00%
 7698701 70236       13.0000   100        4.0000       13.0000 7.27e+008  225.00%
 7704138 70461        cutoff              4.0000       13.0000 7.28e+008  225.00%
 7709854 70736       13.0000   141        4.0000       13.0000 7.29e+008  225.00%
 7715508 70839       13.0000   171        4.0000       13.0000 7.30e+008  225.00%
 7721229 71106       13.0000   112        4.0000       13.0000 7.31e+008  225.00%
 7726320 71382        cutoff              4.0000       13.0000 7.32e+008  225.00%
Elapsed time = 26042.70 sec. (9664682.35 ticks, tree = 1809.92 MB, solutions = 4)
 7730916 71587       13.0000   156        4.0000       13.0000 7.33e+008  225.00%
 7736644 71760        cutoff              4.0000       13.0000 7.34e+008  225.00%
 7742207 71857       12.0000   133        4.0000       13.0000 7.35e+008  225.00%
 7747371 72036       13.0000   126        4.0000       13.0000 7.36e+008  225.00%
 7753370 72316    infeasible              4.0000       13.0000 7.37e+008  225.00%
*7755371 72300      integral     0        7.0000       13.0000 7.37e+008   85.71%
 7761828 59120       13.0000   160        7.0000       13.0000 7.38e+008   85.71%
 7769260 59226    infeasible              7.0000       13.0000 7.39e+008   85.71%
 7777545 59199       13.0000    63        7.0000       13.0000 7.40e+008   85.71%
 7784047 59200       13.0000   125        7.0000       13.0000 7.41e+008   85.71%
Elapsed time = 26946.16 sec. (9807549.22 ticks, tree = 1487.61 MB, solutions = 5)
 7790058 59227    infeasible              7.0000       13.0000 7.42e+008   85.71%
 7796305 59162       13.0000   114        7.0000       13.0000 7.43e+008   85.71%
 7802948 59182       13.0000   113        7.0000       13.0000 7.44e+008   85.71%
 7811083 59111    infeasible              7.0000       13.0000 7.45e+008   85.71%
 7818645 59098    infeasible              7.0000       13.0000 7.46e+008   85.71%
 7825059 59047       13.0000   111        7.0000       13.0000 7.47e+008   85.71%
 7831301 58982       13.0000    82        7.0000       13.0000 7.48e+008   85.71%
 7836832 58959       13.0000   113        7.0000       13.0000 7.49e+008   85.71%
 7843536 58962       13.0000   156        7.0000       13.0000 7.50e+008   85.71%
 7848894 58944       13.0000   111        7.0000       13.0000 7.51e+008   85.71%
Elapsed time = 28162.63 sec. (9960429.74 ticks, tree = 1481.34 MB, solutions = 5)
 7854511 58950       13.0000    90        7.0000       13.0000 7.52e+008   85.71%
 7862710 59004       13.0000   126        7.0000       13.0000 7.53e+008   85.71%
 7871484 58986       13.0000    63        7.0000       13.0000 7.54e+008   85.71%
 7878741 58945       13.0000    81        7.0000       13.0000 7.55e+008   85.71%
 7886248 58923       13.0000   113        7.0000       13.0000 7.56e+008   85.71%
 7893354 58908       13.0000   104        7.0000       13.0000 7.57e+008   85.71%
 7900444 58941       13.0000    78        7.0000       13.0000 7.58e+008   85.71%
 7909017 58902    infeasible              7.0000       13.0000 7.59e+008   85.71%
 7915527 58894       13.0000    82        7.0000       13.0000 7.60e+008   85.71%
 7922145 58916    infeasible              7.0000       13.0000 7.61e+008   85.71%
Elapsed time = 29431.22 sec. (10113220.70 ticks, tree = 1480.92 MB, solutions = 5)
 7928081 58903    infeasible              7.0000       13.0000 7.62e+008   85.71%
 7933248 58886       13.0000   109        7.0000       13.0000 7.63e+008   85.71%
 7939330 58907    infeasible              7.0000       13.0000 7.63e+008   85.71%
 7947874 58955    infeasible              7.0000       13.0000 7.64e+008   85.71%
 7955557 59066       13.0000    63        7.0000       13.0000 7.65e+008   85.71%
 7966593 58991       13.0000   162        7.0000       13.0000 7.66e+008   85.71%
 7976391 58956       13.0000   132        7.0000       13.0000 7.67e+008   85.71%
 7985230 58927       13.0000    93        7.0000       13.0000 7.68e+008   85.71%
 7993174 58911       13.0000   111        7.0000       13.0000 7.69e+008   85.71%
 8001131 58891       13.0000   130        7.0000       13.0000 7.70e+008   85.71%
Elapsed time = 30655.45 sec. (10265956.31 ticks, tree = 1479.77 MB, solutions = 5)
 8009072 58911       13.0000   132        7.0000       13.0000 7.71e+008   85.71%
 8015970 58901       13.0000   121        7.0000       13.0000 7.72e+008   85.71%
 8022039 58909       13.0000   118        7.0000       13.0000 7.73e+008   85.71%
 8028000 58922    infeasible              7.0000       13.0000 7.74e+008   85.71%
 8033471 58919    infeasible              7.0000       13.0000 7.75e+008   85.71%
 8039289 58888    infeasible              7.0000       13.0000 7.75e+008   85.71%
 8045999 58940    infeasible              7.0000       13.0000 7.76e+008   85.71%
 8054418 58904    infeasible              7.0000       13.0000 7.77e+008   85.71%
 8060183 58975    infeasible              7.0000       13.0000 7.78e+008   85.71%
 8065892 58981       13.0000   107        7.0000       13.0000 7.79e+008   85.71%
Elapsed time = 31818.14 sec. (10418717.75 ticks, tree = 1482.07 MB, solutions = 5)
 8071429 58934    infeasible              7.0000       13.0000 7.80e+008   85.71%
 8077522 58980       13.0000   102        7.0000       13.0000 7.81e+008   85.71%
 8084671 59000       13.0000   158        7.0000       13.0000 7.82e+008   85.71%
 8090932 58977    infeasible              7.0000       13.0000 7.83e+008   85.71%
 8098340 58948    infeasible              7.0000       13.0000 7.84e+008   85.71%
 8103766 58994       13.0000   151        7.0000       13.0000 7.85e+008   85.71%
 8110062 58966    infeasible              7.0000       13.0000 7.86e+008   85.71%
 8116564 58992       13.0000    82        7.0000       13.0000 7.87e+008   85.71%
 8122666 58934    infeasible              7.0000       13.0000 7.88e+008   85.71%
 8129864 58884       13.0000   118        7.0000       13.0000 7.89e+008   85.71%
Elapsed time = 32856.11 sec. (10571513.80 ticks, tree = 1480.35 MB, solutions = 5)
 8135930 58906    infeasible              7.0000       13.0000 7.89e+008   85.71%
 8142084 59053       13.0000    92        7.0000       13.0000 7.90e+008   85.71%
 8148475 59258       13.0000   100        7.0000       13.0000 7.91e+008   85.71%
 8154646 59206       13.0000   146        7.0000       13.0000 7.92e+008   85.71%
 8161096 59281       13.0000   127        7.0000       13.0000 7.93e+008   85.71%
 8166628 59185       13.0000   101        7.0000       13.0000 7.94e+008   85.71%
 8173459 59051    infeasible              7.0000       13.0000 7.95e+008   85.71%
 8178398 59036       13.0000   100        7.0000       13.0000 7.96e+008   85.71%
 8184306 59006       13.0000   103        7.0000       13.0000 7.97e+008   85.71%
 8189593 58942       13.0000   112        7.0000       13.0000 7.98e+008   85.71%
Elapsed time = 33927.05 sec. (10724301.83 ticks, tree = 1481.21 MB, solutions = 5)
 8194768 58926       13.0000   116        7.0000       13.0000 7.99e+008   85.71%
 8199961 58927       13.0000   175        7.0000       13.0000 8.00e+008   85.71%
 8206272 58909    infeasible              7.0000       13.0000 8.01e+008   85.71%
 8213133 58926       13.0000   154        7.0000       13.0000 8.02e+008   85.71%
 8220380 58885       13.0000   164        7.0000       13.0000 8.03e+008   85.71%
 8225220 58886       13.0000   124        7.0000       13.0000 8.04e+008   85.71%
 8230595 58908       13.0000   172        7.0000       13.0000 8.05e+008   85.71%
 8234972 58924       13.0000   119        7.0000       13.0000 8.05e+008   85.71%
 8238888 58907       13.0000   125        7.0000       13.0000 8.06e+008   85.71%
 8242787 58918       13.0000   117        7.0000       13.0000 8.07e+008   85.71%
Elapsed time = 35001.16 sec. (10877320.29 ticks, tree = 1480.43 MB, solutions = 5)
 8246977 58883       13.0000   153        7.0000       13.0000 8.08e+008   85.71%
 8250911 58895       13.0000   117        7.0000       13.0000 8.09e+008   85.71%
 8254751 58885       13.0000   125        7.0000       13.0000 8.10e+008   85.71%
 8258638 58880    infeasible              7.0000       13.0000 8.11e+008   85.71%
 8262399 58889       13.0000   134        7.0000       13.0000 8.12e+008   85.71%
 8266741 58980    infeasible              7.0000       13.0000 8.13e+008   85.71%
 8273183 59178       13.0000   159        7.0000       13.0000 8.14e+008   85.71%
 8280074 59220       13.0000    97        7.0000       13.0000 8.15e+008   85.71%
 8287890 59261    infeasible              7.0000       13.0000 8.16e+008   85.71%
 8297157 59206       13.0000   114        7.0000       13.0000 8.17e+008   85.71%
Elapsed time = 36061.55 sec. (11030067.77 ticks, tree = 1488.86 MB, solutions = 5)
 8304220 59184       13.0000   111        7.0000       13.0000 8.18e+008   85.71%
 8311767 59185       13.0000    42        7.0000       13.0000 8.19e+008   85.71%
 8319424 59254    infeasible              7.0000       13.0000 8.19e+008   85.71%
 8327327 59168       13.0000   124        7.0000       13.0000 8.20e+008   85.71%
 8334111 59229    infeasible              7.0000       13.0000 8.21e+008   85.71%
 8341943 59333    infeasible              7.0000       13.0000 8.22e+008   85.71%
 8351050 59206    infeasible              7.0000       13.0000 8.23e+008   85.71%
 8358485 59145       13.0000   113        7.0000       13.0000 8.24e+008   85.71%
 8366958 59167    infeasible              7.0000       13.0000 8.25e+008   85.71%
 8374733 59196       13.0000   105        7.0000       13.0000 8.26e+008   85.71%
Elapsed time = 37218.41 sec. (11182752.31 ticks, tree = 1489.00 MB, solutions = 5)
 8382812 59224       13.0000   129        7.0000       13.0000 8.27e+008   85.71%
 8390681 59112       13.0000   112        7.0000       13.0000 8.28e+008   85.71%
 8397229 59193    infeasible              7.0000       13.0000 8.29e+008   85.71%
 8405282 59128       13.0000    96        7.0000       13.0000 8.30e+008   85.71%
 8412771 59075    infeasible              7.0000       13.0000 8.31e+008   85.71%
 8419595 59003    infeasible              7.0000       13.0000 8.31e+008   85.71%
 8426088 59124       13.0000    75        7.0000       13.0000 8.32e+008   85.71%
 8434643 59051       13.0000   138        7.0000       13.0000 8.33e+008   85.71%
 8441806 59166       13.0000    88        7.0000       13.0000 8.34e+008   85.71%
 8449649 59070    infeasible              7.0000       13.0000 8.35e+008   85.71%
Elapsed time = 38402.39 sec. (11335633.23 ticks, tree = 1484.98 MB, solutions = 5)
 8454923 58992       13.0000    98        7.0000       13.0000 8.36e+008   85.71%
 8459905 58993       13.0000   102        7.0000       13.0000 8.37e+008   85.71%
 8466698 59141       13.0000   184        7.0000       13.0000 8.38e+008   85.71%
 8472158 59054    infeasible              7.0000       13.0000 8.39e+008   85.71%
 8478336 59067       13.0000    59        7.0000       13.0000 8.40e+008   85.71%
 8485293 59067       13.0000    76        7.0000       13.0000 8.41e+008   85.71%
 8491630 59036       13.0000   120        7.0000       13.0000 8.42e+008   85.71%
 8497015 58999       13.0000   100        7.0000       13.0000 8.42e+008   85.71%
 8505316 58974       13.0000   143        7.0000       13.0000 8.43e+008   85.71%
 8510419 58964       13.0000   113        7.0000       13.0000 8.44e+008   85.71%
Elapsed time = 39457.06 sec. (11488392.57 ticks, tree = 1481.88 MB, solutions = 5)
 8516784 59009       13.0000   111        7.0000       13.0000 8.45e+008   85.71%
 8522450 58977       13.0000    63        7.0000       13.0000 8.46e+008   85.71%
 8530132 58999    infeasible              7.0000       13.0000 8.47e+008   85.71%
 8537246 58984       13.0000   162        7.0000       13.0000 8.48e+008   85.71%
 8543781 59024       13.0000   156        7.0000       13.0000 8.49e+008   85.71%
 8550581 59055       13.0000    87        7.0000       13.0000 8.50e+008   85.71%
 8556660 58945    infeasible              7.0000       13.0000 8.51e+008   85.71%
 8562727 58920    infeasible              7.0000       13.0000 8.52e+008   85.71%
 8568403 58901    infeasible              7.0000       13.0000 8.53e+008   85.71%
 8573876 58905       13.0000   142        7.0000       13.0000 8.53e+008   85.71%
Elapsed time = 40557.02 sec. (11641135.85 ticks, tree = 1480.39 MB, solutions = 5)
 8579560 58901       13.0000   120        7.0000       13.0000 8.54e+008   85.71%
 8584958 58902    infeasible              7.0000       13.0000 8.55e+008   85.71%
 8591172 58939       13.0000   109        7.0000       13.0000 8.56e+008   85.71%
 8596739 58930    infeasible              7.0000       13.0000 8.57e+008   85.71%
 8601489 58908       13.0000   117        7.0000       13.0000 8.58e+008   85.71%
 8606729 58985    infeasible              7.0000       13.0000 8.59e+008   85.71%
 8612971 58901    infeasible              7.0000       13.0000 8.60e+008   85.71%
 8618083 58923       13.0000   165        7.0000       13.0000 8.61e+008   85.71%
 8624409 58905       13.0000   123        7.0000       13.0000 8.62e+008   85.71%
 8630879 58896       13.0000   143        7.0000       13.0000 8.63e+008   85.71%
Elapsed time = 41720.16 sec. (11793895.85 ticks, tree = 1480.07 MB, solutions = 5)
 8636820 58904    infeasible              7.0000       13.0000 8.64e+008   85.71%
 8642373 58907       13.0000   129        7.0000       13.0000 8.65e+008   85.71%
 8649327 58967       13.0000    79        7.0000       13.0000 8.65e+008   85.71%
 8657322 58895       13.0000    91        7.0000       13.0000 8.66e+008   85.71%
 8663847 59011       13.0000   137        7.0000       13.0000 8.67e+008   85.71%
 8674006 59099       13.0000   121        7.0000       13.0000 8.68e+008   85.71%
 8680455 59025    infeasible              7.0000       13.0000 8.69e+008   85.71%
 8688668 59028       13.0000    99        7.0000       13.0000 8.70e+008   85.71%
 8696619 59039    infeasible              7.0000       13.0000 8.71e+008   85.71%
 8703622 59033    infeasible              7.0000       13.0000 8.72e+008   85.71%
Elapsed time = 43162.17 sec. (11946760.64 ticks, tree = 1483.52 MB, solutions = 5)
 8712130 59168    infeasible              7.0000       13.0000 8.73e+008   85.71%
 8720551 59016       13.0000    96        7.0000       13.0000 8.74e+008   85.71%
 8727987 58983       13.0000    59        7.0000       13.0000 8.74e+008   85.71%
 8735023 58963       13.0000    80        7.0000       13.0000 8.75e+008   85.71%
 8740764 59000    infeasible              7.0000       13.0000 8.76e+008   85.71%
 8747811 58914    infeasible              7.0000       13.0000 8.77e+008   85.71%
 8754615 58957       13.0000   113        7.0000       13.0000 8.78e+008   85.71%
 8762336 58910    infeasible              7.0000       13.0000 8.79e+008   85.71%
 8769286 59062       13.0000   106        7.0000       13.0000 8.80e+008   85.71%
 8776200 59025       13.0000   100        7.0000       13.0000 8.81e+008   85.71%
Elapsed time = 44534.11 sec. (12099459.97 ticks, tree = 1483.49 MB, solutions = 5)
 8784608 59038       13.0000    64        7.0000       13.0000 8.82e+008   85.71%
 8793110 58954       13.0000   103        7.0000       13.0000 8.83e+008   85.71%
 8802560 58940       13.0000   109        7.0000       13.0000 8.84e+008   85.71%
 8809643 58943    infeasible              7.0000       13.0000 8.85e+008   85.71%
 8817351 58931       13.0000    99        7.0000       13.0000 8.85e+008   85.71%
 8824107 58894       13.0000    81        7.0000       13.0000 8.86e+008   85.71%
 8832028 58933    infeasible              7.0000       13.0000 8.87e+008   85.71%
 8840615 58963    infeasible              7.0000       13.0000 8.88e+008   85.71%
 8849093 59118       13.0000   127        7.0000       13.0000 8.89e+008   85.71%
 8857674 58978       13.0000    43        7.0000       13.0000 8.90e+008   85.71%
Elapsed time = 46165.20 sec. (12252235.72 ticks, tree = 1480.23 MB, solutions = 5)
 8865847 58992    infeasible              7.0000       13.0000 8.91e+008   85.71%
 8875626 58975       13.0000   130        7.0000       13.0000 8.92e+008   85.71%
 8884280 58943    infeasible              7.0000       13.0000 8.93e+008   85.71%
 8892599 59004       13.0000    87        7.0000       13.0000 8.94e+008   85.71%
 8899953 58926       13.0000    83        7.0000       13.0000 8.95e+008   85.71%
 8905615 58909    infeasible              7.0000       13.0000 8.95e+008   85.71%
 8911950 58919       13.0000   101        7.0000       13.0000 8.96e+008   85.71%
 8921778 59021    infeasible              7.0000       13.0000 8.97e+008   85.71%
 8932957 58959       13.0000    95        7.0000       13.0000 8.98e+008   85.71%
 8941853 58929       13.0000   121        7.0000       13.0000 8.99e+008   85.71%
Elapsed time = 47720.47 sec. (12405013.36 ticks, tree = 1481.09 MB, solutions = 5)
 8947534 58941       13.0000    96        7.0000       13.0000 9.00e+008   85.71%
 8953921 58898       13.0000    57        7.0000       13.0000 9.01e+008   85.71%
 8959437 59026       13.0000    75        7.0000       13.0000 9.02e+008   85.71%
 8966908 58955    infeasible              7.0000       13.0000 9.03e+008   85.71%
 8972704 59018       13.0000   153        7.0000       13.0000 9.04e+008   85.71%
 8981356 59214       13.0000    83        7.0000       13.0000 9.05e+008   85.71%
 8988762 59137       13.0000    86        7.0000       13.0000 9.05e+008   85.71%
 8996218 59017       13.0000    80        7.0000       13.0000 9.06e+008   85.71%
 9003075 58939       13.0000   126        7.0000       13.0000 9.07e+008   85.71%
 9009043 58919       13.0000    62        7.0000       13.0000 9.08e+008   85.71%
Elapsed time = 48995.84 sec. (12557754.88 ticks, tree = 1480.52 MB, solutions = 5)
 9015031 58913       13.0000    87        7.0000       13.0000 9.09e+008   85.71%
 9022194 58927       13.0000   117        7.0000       13.0000 9.10e+008   85.71%
 9028901 58908    infeasible              7.0000       13.0000 9.11e+008   85.71%
 9035666 59096       13.0000   117        7.0000       13.0000 9.12e+008   85.71%
 9044937 59080    infeasible              7.0000       13.0000 9.13e+008   85.71%
 9053153 59025       13.0000   101        7.0000       13.0000 9.14e+008   85.71%
 9060656 58926       13.0000   115        7.0000       13.0000 9.15e+008   85.71%
 9066929 58905    infeasible              7.0000       13.0000 9.16e+008   85.71%
 9072359 58899       13.0000    87        7.0000       13.0000 9.16e+008   85.71%
 9079305 59070       13.0000    74        7.0000       13.0000 9.17e+008   85.71%
Elapsed time = 50280.80 sec. (12710434.22 ticks, tree = 1485.32 MB, solutions = 5)
 9085785 58933       13.0000    97        7.0000       13.0000 9.18e+008   85.71%
 9094229 59065       13.0000    77        7.0000       13.0000 9.19e+008   85.71%
 9101907 59241       13.0000   123        7.0000       13.0000 9.20e+008   85.71%
 9111030 59261       13.0000   110        7.0000       13.0000 9.21e+008   85.71%
 9119476 59332       13.0000    83        7.0000       13.0000 9.22e+008   85.71%
 9128107 59295       13.0000    43        7.0000       13.0000 9.23e+008   85.71%
 9137668 59307    infeasible              7.0000       13.0000 9.24e+008   85.71%
 9146726 59157       13.0000   114        7.0000       13.0000 9.25e+008   85.71%
 9154399 59116       13.0000   131        7.0000       13.0000 9.26e+008   85.71%
 9162427 59574       13.0000    72        7.0000       13.0000 9.26e+008   85.71%
Elapsed time = 51846.58 sec. (12863184.61 ticks, tree = 1495.92 MB, solutions = 5)
 9170922 59414       13.0000    88        7.0000       13.0000 9.27e+008   85.71%
 9179595 59480       13.0000   121        7.0000       13.0000 9.28e+008   85.71%
 9186793 59321       13.0000   152        7.0000       13.0000 9.29e+008   85.71%
 9193893 59272       13.0000    93        7.0000       13.0000 9.30e+008   85.71%
 9202141 59245       13.0000   157        7.0000       13.0000 9.31e+008   85.71%
 9211293 59333    infeasible              7.0000       13.0000 9.32e+008   85.71%
 9219425 59532       13.0000   110        7.0000       13.0000 9.33e+008   85.71%
 9228351 59423    infeasible              7.0000       13.0000 9.34e+008   85.71%
 9237118 59497    infeasible              7.0000       13.0000 9.35e+008   85.71%
 9244539 59480       13.0000    91        7.0000       13.0000 9.35e+008   85.71%
Elapsed time = 53295.92 sec. (13015879.21 ticks, tree = 1494.76 MB, solutions = 5)
 9251245 59501       13.0000    79        7.0000       13.0000 9.36e+008   85.71%
 9260626 59450       13.0000    61        7.0000       13.0000 9.37e+008   85.71%
 9270505 59483    infeasible              7.0000       13.0000 9.38e+008   85.71%
 9279071 59301       13.0000    85        7.0000       13.0000 9.39e+008   85.71%
 9285707 59496    infeasible              7.0000       13.0000 9.40e+008   85.71%
 9292014 59473    infeasible              7.0000       13.0000 9.41e+008   85.71%
 9298346 59526    infeasible              7.0000       13.0000 9.42e+008   85.71%
 9306050 59575       13.0000   158        7.0000       13.0000 9.43e+008   85.71%
 9313347 59466       13.0000    71        7.0000       13.0000 9.44e+008   85.71%
 9319583 59365       13.0000   124        7.0000       13.0000 9.45e+008   85.71%
Elapsed time = 54580.20 sec. (13168678.96 ticks, tree = 1492.49 MB, solutions = 5)
 9326061 59496       13.0000    92        7.0000       13.0000 9.45e+008   85.71%
 9335342 59482    infeasible              7.0000       13.0000 9.46e+008   85.71%
 9342449 59601       13.0000   138        7.0000       13.0000 9.47e+008   85.71%
 9349426 59631    infeasible              7.0000       13.0000 9.48e+008   85.71%
 9357672 59593    infeasible              7.0000       13.0000 9.49e+008   85.71%
 9367401 59483       13.0000   126        7.0000       13.0000 9.50e+008   85.71%
 9373592 59442       13.0000    91        7.0000       13.0000 9.51e+008   85.71%
 9380816 59344       13.0000   101        7.0000       13.0000 9.52e+008   85.71%
 9387201 59315    infeasible              7.0000       13.0000 9.52e+008   85.71%
 9393935 59261       13.0000   122        7.0000       13.0000 9.53e+008   85.71%
Elapsed time = 55883.80 sec. (13321489.08 ticks, tree = 1489.52 MB, solutions = 5)
 9400267 59220    infeasible              7.0000       13.0000 9.54e+008   85.71%
 9407504 59279       13.0000   107        7.0000       13.0000 9.55e+008   85.71%
 9414297 59216       13.0000   108        7.0000       13.0000 9.56e+008   85.71%
 9422337 59480    infeasible              7.0000       13.0000 9.57e+008   85.71%
 9431428 59549    infeasible              7.0000       13.0000 9.58e+008   85.71%
 9440378 59499       13.0000   107        7.0000       13.0000 9.59e+008   85.71%
 9448618 59383       13.0000   117        7.0000       13.0000 9.60e+008   85.71%
 9456819 59312       13.0000   122        7.0000       13.0000 9.60e+008   85.71%
 9465777 59247    infeasible              7.0000       13.0000 9.61e+008   85.71%
 9472042 59229    infeasible              7.0000       13.0000 9.62e+008   85.71%
Elapsed time = 57330.52 sec. (13474183.83 ticks, tree = 1489.12 MB, solutions = 5)
 9479645 59232    infeasible              7.0000       13.0000 9.63e+008   85.71%
 9486812 59114       13.0000   124        7.0000       13.0000 9.64e+008   85.71%
 9493107 59212       13.0000    88        7.0000       13.0000 9.65e+008   85.71%
 9504651 59207       13.0000    69        7.0000       13.0000 9.65e+008   85.71%
 9512517 59047    infeasible              7.0000       13.0000 9.66e+008   85.71%
 9519194 59030       13.0000   127        7.0000       13.0000 9.67e+008   85.71%
 9530191 59436    infeasible              7.0000       13.0000 9.68e+008   85.71%
 9542000 59019    infeasible              7.0000       13.0000 9.69e+008   85.71%
 9548372 59012       13.0000   136        7.0000       13.0000 9.70e+008   85.71%
 9557291 59067    infeasible              7.0000       13.0000 9.71e+008   85.71%
Elapsed time = 58840.88 sec. (13626896.23 ticks, tree = 1485.26 MB, solutions = 5)
 9568663 59180       13.0000    81        7.0000       13.0000 9.72e+008   85.71%
 9579161 59113       13.0000    93        7.0000       13.0000 9.73e+008   85.71%
 9595044 59410    infeasible              7.0000       13.0000 9.73e+008   85.71%
 9610645 59147       13.0000    81        7.0000       13.0000 9.74e+008   85.71%
 9620234 58966       13.0000   106        7.0000       13.0000 9.75e+008   85.71%
 9626633 58949    infeasible              7.0000       13.0000 9.76e+008   85.71%
 9633961 58939    infeasible              7.0000       13.0000 9.77e+008   85.71%
 9640087 59013       13.0000   115        7.0000       13.0000 9.78e+008   85.71%
 9648088 58938       13.0000   106        7.0000       13.0000 9.79e+008   85.71%
 9654495 58909       13.0000   129        7.0000       13.0000 9.80e+008   85.71%
Elapsed time = 60479.67 sec. (13779626.24 ticks, tree = 1480.69 MB, solutions = 5)
 9659877 58923    infeasible              7.0000       13.0000 9.81e+008   85.71%
 9667711 59228    infeasible              7.0000       13.0000 9.82e+008   85.71%
 9677098 59203       13.0000    86        7.0000       13.0000 9.83e+008   85.71%
 9687182 59089       13.0000    85        7.0000       13.0000 9.83e+008   85.71%
 9696063 58986       13.0000    98        7.0000       13.0000 9.84e+008   85.71%
 9703993 59179       13.0000   103        7.0000       13.0000 9.85e+008   85.71%
 9713324 59032       13.0000   116        7.0000       13.0000 9.86e+008   85.71%
 9721708 58971       13.0000    73        7.0000       13.0000 9.87e+008   85.71%
 9730163 58953    infeasible              7.0000       13.0000 9.88e+008   85.71%
 9738582 58956       13.0000    95        7.0000       13.0000 9.89e+008   85.71%
Elapsed time = 62100.61 sec. (13932317.58 ticks, tree = 1481.39 MB, solutions = 5)
 9746794 58923    infeasible              7.0000       13.0000 9.90e+008   85.71%
 9754254 58903    infeasible              7.0000       13.0000 9.91e+008   85.71%
 9760259 58925    infeasible              7.0000       13.0000 9.92e+008   85.71%
 9765377 58904       13.0000   110        7.0000       13.0000 9.93e+008   85.71%
 9781132 59083       13.0000   155        7.0000       13.0000 9.94e+008   85.71%
 9789132 58966    infeasible              7.0000       13.0000 9.94e+008   85.71%
 9800623 58941    infeasible              7.0000       13.0000 9.95e+008   85.71%
 9809859 59090       13.0000    83        7.0000       13.0000 9.96e+008   85.71%
 9818780 59046    infeasible              7.0000       13.0000 9.97e+008   85.71%
 9827471 59006       13.0000    86        7.0000       13.0000 9.98e+008   85.71%
Elapsed time = 63735.58 sec. (14085095.61 ticks, tree = 1483.17 MB, solutions = 5)
 9835706 58982    infeasible              7.0000       13.0000 9.99e+008   85.71%
 9842546 58920       13.0000   127        7.0000       13.0000 1.00e+009   85.71%
 9849865 59067    infeasible              7.0000       13.0000 1.00e+009   85.71%
 9856398 58983    infeasible              7.0000       13.0000 1.00e+009   85.71%
 9862730 58892    infeasible              7.0000       13.0000 1.00e+009   85.71%
 9869094 59138    infeasible              7.0000       13.0000 1.00e+009   85.71%
 9876611 59000       13.0000    73        7.0000       13.0000 1.00e+009   85.71%
 9882321 58890    infeasible              7.0000       13.0000 1.01e+009   85.71%
 9887937 59016    infeasible              7.0000       13.0000 1.01e+009   85.71%
 9896716 58975       13.0000    75        7.0000       13.0000 1.01e+009   85.71%
Elapsed time = 65046.25 sec. (14237842.47 ticks, tree = 1481.92 MB, solutions = 5)
 9902254 59036       13.0000    90        7.0000       13.0000 1.01e+009   85.71%
 9908584 58948       13.0000   113        7.0000       13.0000 1.01e+009   85.71%
 9914572 58922       13.0000    95        7.0000       13.0000 1.01e+009   85.71%
 9920010 58929       13.0000   110        7.0000       13.0000 1.01e+009   85.71%
 9925249 58953       13.0000   127        7.0000       13.0000 1.01e+009   85.71%
 9931236 59026    infeasible              7.0000       13.0000 1.01e+009   85.71%
 9940795 59103       13.0000   122        7.0000       13.0000 1.01e+009   85.71%
 9949642 59015    infeasible              7.0000       13.0000 1.01e+009   85.71%
 9958576 58978       13.0000   160        7.0000       13.0000 1.02e+009   85.71%
 9968855 59136       13.0000   134        7.0000       13.0000 1.02e+009   85.71%
Elapsed time = 66424.91 sec. (14390693.67 ticks, tree = 1485.68 MB, solutions = 5)
 9976661 59022    infeasible              7.0000       13.0000 1.02e+009   85.71%
 9987557 59097       13.0000   106        7.0000       13.0000 1.02e+009   85.71%
 9999751 59025    infeasible              7.0000       13.0000 1.02e+009   85.71%
 10007525 58971       13.0000   143        7.0000       13.0000 1.02e+009   85.71%
 10014656 58944       13.0000   108        7.0000       13.0000 1.02e+009   85.71%
 10023687 58963       13.0000   167        7.0000       13.0000 1.02e+009   85.71%
 10031656 58995    infeasible              7.0000       13.0000 1.02e+009   85.71%
 10043210 58951    infeasible              7.0000       13.0000 1.02e+009   85.71%
 10050340 59027       13.0000   107        7.0000       13.0000 1.02e+009   85.71%
 10057178 58947    infeasible              7.0000       13.0000 1.03e+009   85.71%
Elapsed time = 67829.94 sec. (14543474.54 ticks, tree = 1481.39 MB, solutions = 5)
 10062207 58954    infeasible              7.0000       13.0000 1.03e+009   85.71%
 10069886 58969    infeasible              7.0000       13.0000 1.03e+009   85.71%
 10080936 59026       13.0000    86        7.0000       13.0000 1.03e+009   85.71%
 10092689 58935       13.0000    54        7.0000       13.0000 1.03e+009   85.71%
 10103946 58934    infeasible              7.0000       13.0000 1.03e+009   85.71%
 10111792 58890    infeasible              7.0000       13.0000 1.03e+009   85.71%
 10116047 58893    infeasible              7.0000       13.0000 1.03e+009   85.71%
 10120029 58900       13.0000   118        7.0000       13.0000 1.03e+009   85.71%
 10125086 58899       13.0000   135        7.0000       13.0000 1.03e+009   85.71%
 10133351 58982       13.0000    92        7.0000       13.0000 1.03e+009   85.71%
Elapsed time = 69074.27 sec. (14696307.90 ticks, tree = 1481.59 MB, solutions = 5)
 10141115 58986    infeasible              7.0000       13.0000 1.03e+009   85.71%
 10148652 58903       13.0000   120        7.0000       13.0000 1.04e+009   85.71%
 10155063 58929       13.0000   131        7.0000       13.0000 1.04e+009   85.71%
 10159926 58924       13.0000   132        7.0000       13.0000 1.04e+009   85.71%
 10165465 58960       13.0000   132        7.0000       13.0000 1.04e+009   85.71%
 10170845 58917    infeasible              7.0000       13.0000 1.04e+009   85.71%
 10176374 58947    infeasible              7.0000       13.0000 1.04e+009   85.71%
 10181406 58910    infeasible              7.0000       13.0000 1.04e+009   85.71%
 10186689 58914    infeasible              7.0000       13.0000 1.04e+009   85.71%
 10192410 58876       13.0000   122        7.0000       13.0000 1.04e+009   85.71%
Elapsed time = 70215.56 sec. (14849142.19 ticks, tree = 1479.59 MB, solutions = 5)
 10196887 58898       13.0000   128        7.0000       13.0000 1.04e+009   85.71%
 10201139 58906       13.0000   108        7.0000       13.0000 1.04e+009   85.71%
 10205710 58884       13.0000   106        7.0000       13.0000 1.05e+009   85.71%
 10209625 58871       13.0000   132        7.0000       13.0000 1.05e+009   85.71%
 10215357 58999       13.0000    77        7.0000       13.0000 1.05e+009   85.71%
 10220680 59082       13.0000   143        7.0000       13.0000 1.05e+009   85.71%
 10230178 58985       13.0000    65        7.0000       13.0000 1.05e+009   85.71%
 10238865 58965    infeasible              7.0000       13.0000 1.05e+009   85.71%
 10249312 58985    infeasible              7.0000       13.0000 1.05e+009   85.71%
 10261131 58976    infeasible              7.0000       13.0000 1.05e+009   85.71%
Elapsed time = 71498.14 sec. (15001916.12 ticks, tree = 1482.76 MB, solutions = 5)
 10270053 58943    infeasible              7.0000       13.0000 1.05e+009   85.71%
 10280199 58926       13.0000   121        7.0000       13.0000 1.05e+009   85.71%
 10288195 58941       13.0000    98        7.0000       13.0000 1.05e+009   85.71%
 10295049 58909    infeasible              7.0000       13.0000 1.06e+009   85.71%
 10304013 58938    infeasible              7.0000       13.0000 1.06e+009   85.71%
 10311633 58912    infeasible              7.0000       13.0000 1.06e+009   85.71%
 10318851 58904       13.0000   108        7.0000       13.0000 1.06e+009   85.71%
 10323613 58901       13.0000   149        7.0000       13.0000 1.06e+009   85.71%
 10328728 58907    infeasible              7.0000       13.0000 1.06e+009   85.71%
 10334909 58893    infeasible              7.0000       13.0000 1.06e+009   85.71%
Elapsed time = 72953.89 sec. (15154738.26 ticks, tree = 1480.75 MB, solutions = 5)
 10339479 58889    infeasible              7.0000       13.0000 1.06e+009   85.71%
 10344132 58906    infeasible              7.0000       13.0000 1.06e+009   85.71%
 10349771 58890    infeasible              7.0000       13.0000 1.06e+009   85.71%
 10360136 58929    infeasible              7.0000       13.0000 1.06e+009   85.71%
 10368871 58944       13.0000    63        7.0000       13.0000 1.07e+009   85.71%
 10378411 58936       13.0000    64        7.0000       13.0000 1.07e+009   85.71%
 10387412 58914    infeasible              7.0000       13.0000 1.07e+009   85.71%
 10396490 58928       13.0000    82        7.0000       13.0000 1.07e+009   85.71%
 10405505 58907       13.0000   127        7.0000       13.0000 1.07e+009   85.71%
 10412265 58913    infeasible              7.0000       13.0000 1.07e+009   85.71%
Elapsed time = 74288.49 sec. (15307514.50 ticks, tree = 1481.13 MB, solutions = 5)
 10419591 59092       13.0000   133        7.0000       13.0000 1.07e+009   85.71%
 10427162 59175       13.0000   121        7.0000       13.0000 1.07e+009   85.71%
 10436115 58990       13.0000    85        7.0000       13.0000 1.07e+009   85.71%
 10444001 58899    infeasible              7.0000       13.0000 1.07e+009   85.71%
 10450324 58881    infeasible              7.0000       13.0000 1.07e+009   85.71%
 10457907 58890       13.0000   105        7.0000       13.0000 1.07e+009   85.71%
 10465624 58922       13.0000    83        7.0000       13.0000 1.08e+009   85.71%
 10474639 59000       13.0000   135        7.0000       13.0000 1.08e+009   85.71%
 10485452 58910    infeasible              7.0000       13.0000 1.08e+009   85.71%
 10492015 58837    infeasible              7.0000       13.0000 1.08e+009   85.71%
Elapsed time = 75735.02 sec. (15460247.28 ticks, tree = 1478.37 MB, solutions = 5)
 10498474 58851       13.0000    97        7.0000       13.0000 1.08e+009   85.71%
 10502971 58891       13.0000   102        7.0000       13.0000 1.08e+009   85.71%
 10507448 58919    infeasible              7.0000       13.0000 1.08e+009   85.71%
 10511984 58895    infeasible              7.0000       13.0000 1.08e+009   85.71%
 10516235 58877       13.0000   110        7.0000       13.0000 1.08e+009   85.71%
 10520666 58849       13.0000   165        7.0000       13.0000 1.08e+009   85.71%
 10525484 58862       13.0000   147        7.0000       13.0000 1.08e+009   85.71%
 10530648 58899       13.0000   116        7.0000       13.0000 1.09e+009   85.71%
 10536354 58853    infeasible              7.0000       13.0000 1.09e+009   85.71%
 10541763 58960       13.0000   154        7.0000       13.0000 1.09e+009   85.71%
Elapsed time = 76656.20 sec. (15612916.91 ticks, tree = 1482.18 MB, solutions = 5)
 10547035 58943    infeasible              7.0000       13.0000 1.09e+009   85.71%
 10551809 58947       13.0000    93        7.0000       13.0000 1.09e+009   85.71%
 10555864 58946       13.0000   127        7.0000       13.0000 1.09e+009   85.71%
 10560433 58895    infeasible              7.0000       13.0000 1.09e+009   85.71%
 10565046 58864       13.0000   119        7.0000       13.0000 1.09e+009   85.71%
 10569466 58842       13.0000   134        7.0000       13.0000 1.09e+009   85.71%
 10574762 58909       13.0000   117        7.0000       13.0000 1.09e+009   85.71%
 10584455 59014       13.0000    87        7.0000       13.0000 1.09e+009   85.71%
 10594308 59001    infeasible              7.0000       13.0000 1.10e+009   85.71%
 10604435 59037       13.0000    99        7.0000       13.0000 1.10e+009   85.71%
Elapsed time = 77768.70 sec. (15765693.65 ticks, tree = 1484.18 MB, solutions = 5)
 10614285 58942       13.0000    78        7.0000       13.0000 1.10e+009   85.71%
 10622931 58975       13.0000    72        7.0000       13.0000 1.10e+009   85.71%
 10630860 58966    infeasible              7.0000       13.0000 1.10e+009   85.71%
 10638414 59008       13.0000    60        7.0000       13.0000 1.10e+009   85.71%
 10647392 58906       13.0000    93        7.0000       13.0000 1.10e+009   85.71%
 10654661 58909       13.0000   154        7.0000       13.0000 1.10e+009   85.71%
 10664592 58924       13.0000    67        7.0000       13.0000 1.10e+009   85.71%
 10673312 58939       13.0000   152        7.0000       13.0000 1.10e+009   85.71%
 10680041 58924    infeasible              7.0000       13.0000 1.10e+009   85.71%
 10685089 58936       13.0000   125        7.0000       13.0000 1.11e+009   85.71%
Elapsed time = 79242.36 sec. (15918394.16 ticks, tree = 1481.74 MB, solutions = 5)
 10691868 58873       13.0000   113        7.0000       13.0000 1.11e+009   85.71%
 10698482 58840    infeasible              7.0000       13.0000 1.11e+009   85.71%
 10705349 58860       13.0000   110        7.0000       13.0000 1.11e+009   85.71%
 10710070 58848    infeasible              7.0000       13.0000 1.11e+009   85.71%
 10715457 58842       13.0000   106        7.0000       13.0000 1.11e+009   85.71%
 10720451 58835    infeasible              7.0000       13.0000 1.11e+009   85.71%
 10726166 58826       13.0000   113        7.0000       13.0000 1.11e+009   85.71%
 10731017 58857    infeasible              7.0000       13.0000 1.11e+009   85.71%
 10735830 58827    infeasible              7.0000       13.0000 1.11e+009   85.71%
 10740656 58817       13.0000   119        7.0000       13.0000 1.11e+009   85.71%
Elapsed time = 80247.86 sec. (16071323.78 ticks, tree = 1478.84 MB, solutions = 5)
 10745775 58801       13.0000   127        7.0000       13.0000 1.12e+009   85.71%
 10751239 58757    infeasible              7.0000       13.0000 1.12e+009   85.71%
 10759168 57399       12.0000    92        7.0000       12.0873 1.12e+009   72.68%
 10770829 53188    infeasible              7.0000       12.0000 1.12e+009   71.43%
 10780941 50092        cutoff              7.0000       12.0000 1.12e+009   71.43%
 10790263 47639       12.0000    79        7.0000       12.0000 1.12e+009   71.43%
 10799271 45839    infeasible              7.0000       12.0000 1.12e+009   71.43%
 10807812 44797       12.0000    97        7.0000       12.0000 1.12e+009   71.43%
 10815909 44164       12.0000    43        7.0000       12.0000 1.12e+009   71.43%
 10824106 44010       12.0000   108        7.0000       12.0000 1.12e+009   71.43%
Elapsed time = 81694.30 sec. (16224101.63 ticks, tree = 1115.01 MB, solutions = 5)
 10832974 43422       12.0000    87        7.0000       12.0000 1.12e+009   71.43%
 10840912 42780       12.0000   139        7.0000       12.0000 1.13e+009   71.43%
 10848159 42524        cutoff              7.0000       12.0000 1.13e+009   71.43%
 10854573 42757       12.0000   155        7.0000       12.0000 1.13e+009   71.43%
 10860057 42891    infeasible              7.0000       12.0000 1.13e+009   71.43%
 10866264 43229       12.0000   102        7.0000       12.0000 1.13e+009   71.43%
 10872248 43540       12.0000   119        7.0000       12.0000 1.13e+009   71.43%
 10877853 43770    infeasible              7.0000       12.0000 1.13e+009   71.43%
 10884317 44167       12.0000   107        7.0000       12.0000 1.13e+009   71.43%
 10890543 44476    infeasible              7.0000       12.0000 1.13e+009   71.43%
Elapsed time = 82734.42 sec. (16376871.81 ticks, tree = 1146.49 MB, solutions = 5)
 10897116 44827    infeasible              7.0000       12.0000 1.13e+009   71.43%
 10903967 45240    infeasible              7.0000       12.0000 1.13e+009   71.43%
 10910382 45288    infeasible              7.0000       12.0000 1.13e+009   71.43%
 10915807 45293       12.0000    80        7.0000       12.0000 1.14e+009   71.43%
 10922042 45291       12.0000    85        7.0000       12.0000 1.14e+009   71.43%
 10928187 45341    infeasible              7.0000       12.0000 1.14e+009   71.43%
 10934462 45445       12.0000   130        7.0000       12.0000 1.14e+009   71.43%
 10942574 45845       12.0000    97        7.0000       12.0000 1.14e+009   71.43%
 10949931 46093       12.0000    98        7.0000       12.0000 1.14e+009   71.43%
 10957217 46240    infeasible              7.0000       12.0000 1.14e+009   71.43%
Elapsed time = 83778.11 sec. (16529657.89 ticks, tree = 1203.39 MB, solutions = 5)
 10964523 46258       12.0000    96        7.0000       12.0000 1.14e+009   71.43%
 10971454 46467       12.0000   119        7.0000       12.0000 1.14e+009   71.43%
 10977172 46872    infeasible              7.0000       12.0000 1.14e+009   71.43%
 10983474 47008       12.0000    92        7.0000       12.0000 1.15e+009   71.43%
 10989975 47184       12.0000   132        7.0000       12.0000 1.15e+009   71.43%
 10996321 47419    infeasible              7.0000       12.0000 1.15e+009   71.43%
 11002977 47708    infeasible              7.0000       12.0000 1.15e+009   71.43%
 11009509 47972       12.0000   104        7.0000       12.0000 1.15e+009   71.43%
 11015482 47996       12.0000    93        7.0000       12.0000 1.15e+009   71.43%
 11021413 48056    infeasible              7.0000       12.0000 1.15e+009   71.43%
Elapsed time = 84777.81 sec. (16682461.40 ticks, tree = 1261.59 MB, solutions = 5)
 11027159 48302       12.0000   101        7.0000       12.0000 1.15e+009   71.43%
 11033392 48539    infeasible              7.0000       12.0000 1.15e+009   71.43%
 11039129 48617    infeasible              7.0000       12.0000 1.15e+009   71.43%
 11044921 48920    infeasible              7.0000       12.0000 1.15e+009   71.43%
 11051398 49153       12.0000   181        7.0000       12.0000 1.16e+009   71.43%
 11057274 49176    infeasible              7.0000       12.0000 1.16e+009   71.43%
 11063399 49200    infeasible              7.0000       12.0000 1.16e+009   71.43%
 11069469 49570       12.0000    87        7.0000       12.0000 1.16e+009   71.43%
 11075401 49606       12.0000   120        7.0000       12.0000 1.16e+009   71.43%
 11081986 49624       12.0000    97        7.0000       12.0000 1.16e+009   71.43%
Elapsed time = 85729.94 sec. (16835184.99 ticks, tree = 1312.21 MB, solutions = 5)
 11088136 49641    infeasible              7.0000       12.0000 1.16e+009   71.43%
 11095572 49700    infeasible              7.0000       12.0000 1.16e+009   71.43%
 11102885 49671       12.0000    85        7.0000       12.0000 1.16e+009   71.43%
 11109629 49661    infeasible              7.0000       12.0000 1.16e+009   71.43%
 11115959 49686    infeasible              7.0000       12.0000 1.16e+009   71.43%
 11123191 49664       12.0000    86        7.0000       12.0000 1.17e+009   71.43%
 11129469 49627       12.0000   128        7.0000       12.0000 1.17e+009   71.43%
 11136805 49680    infeasible              7.0000       12.0000 1.17e+009   71.43%
 11144480 49748       12.0000    89        7.0000       12.0000 1.17e+009   71.43%
 11152395 49713    infeasible              7.0000       12.0000 1.17e+009   71.43%
Elapsed time = 86835.81 sec. (16987945.92 ticks, tree = 1314.58 MB, solutions = 5)
 11160572 49748       12.0000    94        7.0000       12.0000 1.17e+009   71.43%
 11169738 49740       12.0000    83        7.0000       12.0000 1.17e+009   71.43%
 11177332 49694       12.0000    94        7.0000       12.0000 1.17e+009   71.43%
 11184754 49657       12.0000    73        7.0000       12.0000 1.17e+009   71.43%
 11191482 49715       12.0000   106        7.0000       12.0000 1.17e+009   71.43%
 11198062 49725    infeasible              7.0000       12.0000 1.17e+009   71.43%
 11204574 49654    infeasible              7.0000       12.0000 1.17e+009   71.43%
 11212195 49749       12.0000   110        7.0000       12.0000 1.18e+009   71.43%
 11220754 49665       12.0000    99        7.0000       12.0000 1.18e+009   71.43%
 11229175 49717       12.0000   137        7.0000       12.0000 1.18e+009   71.43%
Elapsed time = 87859.20 sec. (17140681.25 ticks, tree = 1313.21 MB, solutions = 5)
 11237941 49654       12.0000    64        7.0000       12.0000 1.18e+009   71.43%
 11245145 49665        cutoff              7.0000       12.0000 1.18e+009   71.43%
 11252387 49715       12.0000    91        7.0000       12.0000 1.18e+009   71.43%
 11258818 49743       12.0000    87        7.0000       12.0000 1.18e+009   71.43%
 11265373 49757       12.0000    95        7.0000       12.0000 1.18e+009   71.43%
 11273471 49762       12.0000    95        7.0000       12.0000 1.18e+009   71.43%
 11282204 49767       12.0000    90        7.0000       12.0000 1.18e+009   71.43%
 11289776 49723       12.0000    90        7.0000       12.0000 1.18e+009   71.43%
 11295591 49915    infeasible              7.0000       12.0000 1.19e+009   71.43%
 11300657 50294       12.0000   110        7.0000       12.0000 1.19e+009   71.43%
Elapsed time = 88814.74 sec. (17293412.87 ticks, tree = 1332.53 MB, solutions = 5)
 11305961 50521       12.0000   108        7.0000       12.0000 1.19e+009   71.43%
 11311131 50732       11.0000    89        7.0000       12.0000 1.19e+009   71.43%
 11316188 50936       12.0000   114        7.0000       12.0000 1.19e+009   71.43%
 11320868 51116       12.0000   103        7.0000       12.0000 1.19e+009   71.43%
 11326536 51263       12.0000    79        7.0000       12.0000 1.19e+009   71.43%
 11333329 51312       12.0000    43        7.0000       12.0000 1.19e+009   71.43%
 11340723 51326    infeasible              7.0000       12.0000 1.19e+009   71.43%
 11346918 51394       12.0000    75        7.0000       12.0000 1.19e+009   71.43%
 11354397 51390       12.0000    99        7.0000       12.0000 1.19e+009   71.43%
 11361038 51427    infeasible              7.0000       12.0000 1.20e+009   71.43%
Elapsed time = 89773.89 sec. (17446085.55 ticks, tree = 1370.01 MB, solutions = 5)
 11368614 51431       12.0000   123        7.0000       12.0000 1.20e+009   71.43%
 11375371 51430       12.0000   102        7.0000       12.0000 1.20e+009   71.43%
 11381627 51406       12.0000   137        7.0000       12.0000 1.20e+009   71.43%
 11388368 51437       12.0000   106        7.0000       12.0000 1.20e+009   71.43%
 11395374 51456       12.0000   116        7.0000       12.0000 1.20e+009   71.43%
 11402344 51413       12.0000   132        7.0000       12.0000 1.20e+009   71.43%
 11409459 51456       12.0000    69        7.0000       12.0000 1.20e+009   71.43%
 11416454 51532       12.0000   153        7.0000       12.0000 1.20e+009   71.43%
 11423717 51540    infeasible              7.0000       12.0000 1.20e+009   71.43%
 11430985 51529       12.0000    93        7.0000       12.0000 1.20e+009   71.43%
Elapsed time = 90851.14 sec. (17598892.69 ticks, tree = 1372.76 MB, solutions = 5)
 11437855 51492    infeasible              7.0000       12.0000 1.20e+009   71.43%
 11445430 51450       12.0000   111        7.0000       12.0000 1.21e+009   71.43%
 11452578 51472       12.0000    97        7.0000       12.0000 1.21e+009   71.43%
 11459668 51504    infeasible              7.0000       12.0000 1.21e+009   71.43%
 11466347 51501       12.0000    67        7.0000       12.0000 1.21e+009   71.43%
 11472894 51458    infeasible              7.0000       12.0000 1.21e+009   71.43%
 11480623 51400    infeasible              7.0000       12.0000 1.21e+009   71.43%
 11488148 51435    infeasible              7.0000       12.0000 1.21e+009   71.43%
 11495594 51397       12.0000    80        7.0000       12.0000 1.21e+009   71.43%
 11502277 51434    infeasible              7.0000       12.0000 1.21e+009   71.43%
Elapsed time = 91768.83 sec. (17751634.62 ticks, tree = 1370.28 MB, solutions = 5)
 11508125 51405       12.0000   124        7.0000       12.0000 1.21e+009   71.43%
 11514122 51417    infeasible              7.0000       12.0000 1.21e+009   71.43%
 11520672 51426    infeasible              7.0000       12.0000 1.22e+009   71.43%
 11526531 51484       12.0000    75        7.0000       12.0000 1.22e+009   71.43%
 11532361 51517    infeasible              7.0000       12.0000 1.22e+009   71.43%
 11538596 51541       12.0000   106        7.0000       12.0000 1.22e+009   71.43%
 11544856 51537    infeasible              7.0000       12.0000 1.22e+009   71.43%
 11551058 51482       12.0000    87        7.0000       12.0000 1.22e+009   71.43%
 11558185 51452       12.0000    72        7.0000       12.0000 1.22e+009   71.43%
 11564850 51515    infeasible              7.0000       12.0000 1.22e+009   71.43%
Elapsed time = 92636.99 sec. (17904520.90 ticks, tree = 1372.08 MB, solutions = 5)
 11571485 51528       12.0000    96        7.0000       12.0000 1.22e+009   71.43%
 11577898 51503       12.0000    83        7.0000       12.0000 1.22e+009   71.43%
 11583912 51495    infeasible              7.0000       12.0000 1.22e+009   71.43%
 11590186 51497       12.0000   121        7.0000       12.0000 1.22e+009   71.43%
 11596937 51462    infeasible              7.0000       12.0000 1.23e+009   71.43%
 11603304 51506    infeasible              7.0000       12.0000 1.23e+009   71.43%
 11610112 51523       12.0000    57        7.0000       12.0000 1.23e+009   71.43%
 11617137 51472    infeasible              7.0000       12.0000 1.23e+009   71.43%
 11624400 51456       12.0000    70        7.0000       12.0000 1.23e+009   71.43%
 11630759 51468       12.0000   103        7.0000       12.0000 1.23e+009   71.43%
Elapsed time = 93476.41 sec. (18057256.15 ticks, tree = 1370.88 MB, solutions = 5)
 11638020 51455    infeasible              7.0000       12.0000 1.23e+009   71.43%
 11644433 51454    infeasible              7.0000       12.0000 1.23e+009   71.43%
 11651320 51445       12.0000    87        7.0000       12.0000 1.23e+009   71.43%
 11658285 51501       12.0000   110        7.0000       12.0000 1.23e+009   71.43%
 11665040 51418    infeasible              7.0000       12.0000 1.23e+009   71.43%
 11671353 51423    infeasible              7.0000       12.0000 1.23e+009   71.43%
 11677761 51458       12.0000    80        7.0000       12.0000 1.24e+009   71.43%
 11684734 51403       12.0000    77        7.0000       12.0000 1.24e+009   71.43%
 11692207 51392    infeasible              7.0000       12.0000 1.24e+009   71.43%
 11700274 51444    infeasible              7.0000       12.0000 1.24e+009   71.43%
Elapsed time = 94419.89 sec. (18209992.39 ticks, tree = 1370.60 MB, solutions = 5)
 11709062 51474       12.0000    75        7.0000       12.0000 1.24e+009   71.43%
 11718330 51388       12.0000   122        7.0000       12.0000 1.24e+009   71.43%
 11726538 51456       12.0000   129        7.0000       12.0000 1.24e+009   71.43%
 11733703 51464       12.0000    44        7.0000       12.0000 1.24e+009   71.43%
 11743056 51393    infeasible              7.0000       12.0000 1.24e+009   71.43%
 11750613 51433    infeasible              7.0000       12.0000 1.24e+009   71.43%
 11757506 51393    infeasible              7.0000       12.0000 1.24e+009   71.43%
 11764185 51375       12.0000   114        7.0000       12.0000 1.24e+009   71.43%
 11769870 51389    infeasible              7.0000       12.0000 1.25e+009   71.43%
 11775940 51400       12.0000   108        7.0000       12.0000 1.25e+009   71.43%
Elapsed time = 95414.28 sec. (18362780.82 ticks, tree = 1369.07 MB, solutions = 5)
 11783417 51423       12.0000    73        7.0000       12.0000 1.25e+009   71.43%
 11792411 51418       12.0000    69        7.0000       12.0000 1.25e+009   71.43%
 11798846 51430       12.0000    79        7.0000       12.0000 1.25e+009   71.43%
 11807872 51443       12.0000   169        7.0000       12.0000 1.25e+009   71.43%
 11815645 51462    infeasible              7.0000       12.0000 1.25e+009   71.43%
 11823363 51447    infeasible              7.0000       12.0000 1.25e+009   71.43%
 11830455 51421    infeasible              7.0000       12.0000 1.25e+009   71.43%
 11837544 51421    infeasible              7.0000       12.0000 1.25e+009   71.43%
 11844705 51453       12.0000    88        7.0000       12.0000 1.25e+009   71.43%
 11851357 51458       12.0000   132        7.0000       12.0000 1.25e+009   71.43%
Elapsed time = 96441.64 sec. (18515541.90 ticks, tree = 1370.46 MB, solutions = 5)
 11858221 51441       12.0000    69        7.0000       12.0000 1.26e+009   71.43%
 11865085 51421       12.0000   100        7.0000       12.0000 1.26e+009   71.43%
 11870957 51447       12.0000    69        7.0000       12.0000 1.26e+009   71.43%
 11877085 51451       12.0000    65        7.0000       12.0000 1.26e+009   71.43%
 11882829 51462    infeasible              7.0000       12.0000 1.26e+009   71.43%
 11888967 51429       12.0000    79        7.0000       12.0000 1.26e+009   71.43%
 11894811 51396    infeasible              7.0000       12.0000 1.26e+009   71.43%
 11900884 51451       12.0000    88        7.0000       12.0000 1.26e+009   71.43%
 11908730 51460       12.0000   138        7.0000       12.0000 1.26e+009   71.43%
 11915501 51432       12.0000   122        7.0000       12.0000 1.26e+009   71.43%
Elapsed time = 97323.00 sec. (18668243.08 ticks, tree = 1370.28 MB, solutions = 5)
 11921545 51394    infeasible              7.0000       12.0000 1.26e+009   71.43%
 11928930 51450    infeasible              7.0000       12.0000 1.26e+009   71.43%
 11934686 51416       12.0000   115        7.0000       12.0000 1.27e+009   71.43%
 11939927 51431       12.0000   112        7.0000       12.0000 1.27e+009   71.43%
 11945318 51422       12.0000    94        7.0000       12.0000 1.27e+009   71.43%
 11950601 51422       12.0000   111        7.0000       12.0000 1.27e+009   71.43%
 11955500 51471    infeasible              7.0000       12.0000 1.27e+009   71.43%
 11960571 51476    infeasible              7.0000       12.0000 1.27e+009   71.43%
 11965599 51439       12.0000    92        7.0000       12.0000 1.27e+009   71.43%
 11971012 51408       12.0000   123        7.0000       12.0000 1.27e+009   71.43%
Elapsed time = 98139.14 sec. (18820954.73 ticks, tree = 1369.74 MB, solutions = 5)
 11976237 51413    infeasible              7.0000       12.0000 1.27e+009   71.43%
 11981455 51442       12.0000    93        7.0000       12.0000 1.27e+009   71.43%
 11985751 51434    infeasible              7.0000       12.0000 1.27e+009   71.43%
 11990109 51437       12.0000   105        7.0000       12.0000 1.28e+009   71.43%
 11994404 51484       12.0000   117        7.0000       12.0000 1.28e+009   71.43%
 11998522 51456       12.0000   109        7.0000       12.0000 1.28e+009   71.43%
 12002557 51479    infeasible              7.0000       12.0000 1.28e+009   71.43%
 12006914 51451    infeasible              7.0000       12.0000 1.28e+009   71.43%
 12011132 51417       12.0000   109        7.0000       12.0000 1.28e+009   71.43%
 12015374 51450       12.0000    93        7.0000       12.0000 1.28e+009   71.43%
Elapsed time = 98866.86 sec. (18973735.24 ticks, tree = 1370.21 MB, solutions = 5)
 12020078 51424    infeasible              7.0000       12.0000 1.28e+009   71.43%
 12024699 51404       12.0000    97        7.0000       12.0000 1.28e+009   71.43%
 12029118 51432    infeasible              7.0000       12.0000 1.28e+009   71.43%
 12033323 51431       12.0000   139        7.0000       12.0000 1.28e+009   71.43%
 12037990 51431       12.0000   110        7.0000       12.0000 1.28e+009   71.43%
 12042465 51409       12.0000   114        7.0000       12.0000 1.29e+009   71.43%
 12047171 51429       12.0000    90        7.0000       12.0000 1.29e+009   71.43%
 12054624 51538    infeasible              7.0000       12.0000 1.29e+009   71.43%
 12064100 51534       12.0000    77        7.0000       12.0000 1.29e+009   71.43%
 12073912 51570       12.0000   128        7.0000       12.0000 1.29e+009   71.43%
Elapsed time = 99717.05 sec. (19126471.56 ticks, tree = 1373.70 MB, solutions = 5)
 12084596 51493       12.0000   101        7.0000       12.0000 1.29e+009   71.43%
 12093153 51504       12.0000    96        7.0000       12.0000 1.29e+009   71.43%
 12102432 51466       12.0000    67        7.0000       12.0000 1.29e+009   71.43%
 12109944 51459       12.0000    98        7.0000       12.0000 1.29e+009   71.43%
 12119222 51462       12.0000   103        7.0000       12.0000 1.29e+009   71.43%
 12125088 51522    infeasible              7.0000       12.0000 1.29e+009   71.43%
 12130173 51463       12.0000    81        7.0000       12.0000 1.29e+009   71.43%
 12135721 51511       12.0000   103        7.0000       12.0000 1.30e+009   71.43%
 12145666 51609       12.0000    66        7.0000       12.0000 1.30e+009   71.43%
 12154917 51558    infeasible              7.0000       12.0000 1.30e+009   71.43%
Elapsed time = 100749.86 sec. (19279240.84 ticks, tree = 1373.60 MB, solutions = 5)
 12164007 51539       12.0000    71        7.0000       12.0000 1.30e+009   71.43%
 12174282 51475       12.0000   130        7.0000       12.0000 1.30e+009   71.43%
 12182786 51500       12.0000   122        7.0000       12.0000 1.30e+009   71.43%
 12191898 51482       12.0000   106        7.0000       12.0000 1.30e+009   71.43%
 12200583 51490       12.0000   130        7.0000       12.0000 1.30e+009   71.43%
 12209520 51557    infeasible              7.0000       12.0000 1.30e+009   71.43%
 12218888 51503       12.0000   107        7.0000       12.0000 1.30e+009   71.43%
 12228115 51437       12.0000    83        7.0000       12.0000 1.30e+009   71.43%
 12236567 51433       12.0000    45        7.0000       12.0000 1.30e+009   71.43%
 12244939 51458       12.0000    91        7.0000       12.0000 1.30e+009   71.43%
Elapsed time = 101963.97 sec. (19431900.87 ticks, tree = 1370.98 MB, solutions = 5)
 12252704 51433       12.0000   136        7.0000       12.0000 1.31e+009   71.43%
 12257881 51424       12.0000   103        7.0000       12.0000 1.31e+009   71.43%
 12263830 51484    infeasible              7.0000       12.0000 1.31e+009   71.43%
 12273603 51424    infeasible              7.0000       12.0000 1.31e+009   71.43%
 12282776 51492    infeasible              7.0000       12.0000 1.31e+009   71.43%
 12291625 51450       12.0000   135        7.0000       12.0000 1.31e+009   71.43%
 12300073 51436    infeasible              7.0000       12.0000 1.31e+009   71.43%
 12309340 51445       12.0000   103        7.0000       12.0000 1.31e+009   71.43%
 12317893 51429       12.0000   101        7.0000       12.0000 1.31e+009   71.43%
 12324865 51402       12.0000    87        7.0000       12.0000 1.31e+009   71.43%
Elapsed time = 103067.61 sec. (19584662.92 ticks, tree = 1369.62 MB, solutions = 5)
 12332522 51448       12.0000    91        7.0000       12.0000 1.31e+009   71.43%
 12340228 51439       12.0000   101        7.0000       12.0000 1.31e+009   71.43%
 12348203 51407       12.0000   105        7.0000       12.0000 1.32e+009   71.43%
 12355278 51455       12.0000   121        7.0000       12.0000 1.32e+009   71.43%
 12364464 51437       12.0000    98        7.0000       12.0000 1.32e+009   71.43%
 12372310 51430       12.0000   136        7.0000       12.0000 1.32e+009   71.43%
 12381542 51396       12.0000   132        7.0000       12.0000 1.32e+009   71.43%
 12388453 51377       12.0000   164        7.0000       12.0000 1.32e+009   71.43%
 12394067 51401       12.0000   122        7.0000       12.0000 1.32e+009   71.43%
 12399090 51369       12.0000    99        7.0000       12.0000 1.32e+009   71.43%
Elapsed time = 104100.74 sec. (19737399.20 ticks, tree = 1368.91 MB, solutions = 5)
 12404126 51427    infeasible              7.0000       12.0000 1.32e+009   71.43%
 12412588 51383    infeasible              7.0000       12.0000 1.32e+009   71.43%
 12420337 51398       12.0000    67        7.0000       12.0000 1.32e+009   71.43%
 12428522 51388    infeasible              7.0000       12.0000 1.32e+009   71.43%
 12436684 51491       12.0000   100        7.0000       12.0000 1.33e+009   71.43%
 12444836 51663       12.0000    91        7.0000       12.0000 1.33e+009   71.43%
 12453049 51786    infeasible              7.0000       12.0000 1.33e+009   71.43%
 12461436 51807       12.0000   133        7.0000       12.0000 1.33e+009   71.43%
 12469606 51893       12.0000   130        7.0000       12.0000 1.33e+009   71.43%
 12477431 51965    infeasible              7.0000       12.0000 1.33e+009   71.43%
Elapsed time = 105163.66 sec. (19890116.67 ticks, tree = 1384.53 MB, solutions = 5)
 12485018 51989       12.0000   104        7.0000       12.0000 1.33e+009   71.43%
 12492158 51885    infeasible              7.0000       12.0000 1.33e+009   71.43%
 12500569 52012    infeasible              7.0000       12.0000 1.33e+009   71.43%
 12510941 52029       12.0000    91        7.0000       12.0000 1.33e+009   71.43%
 12521766 52103       12.0000    72        7.0000       12.0000 1.33e+009   71.43%
 12534270 52111       12.0000    72        7.0000       12.0000 1.33e+009   71.43%
 12543708 51993    infeasible              7.0000       12.0000 1.34e+009   71.43%
 12551953 51972       12.0000    99        7.0000       12.0000 1.34e+009   71.43%
 12561924 51857    infeasible              7.0000       12.0000 1.34e+009   71.43%
 12569512 51792    infeasible              7.0000       12.0000 1.34e+009   71.43%
Elapsed time = 106327.09 sec. (20042827.17 ticks, tree = 1379.12 MB, solutions = 5)
 12577387 51688       12.0000    84        7.0000       12.0000 1.34e+009   71.43%
 12586214 51765       12.0000    54        7.0000       12.0000 1.34e+009   71.43%
 12593989 51644    infeasible              7.0000       12.0000 1.34e+009   71.43%
 12601942 51804    infeasible              7.0000       12.0000 1.34e+009   71.43%
 12611706 51822       12.0000    71        7.0000       12.0000 1.34e+009   71.43%
 12621530 51920    infeasible              7.0000       12.0000 1.34e+009   71.43%
 12630495 51858       12.0000   114        7.0000       12.0000 1.34e+009   71.43%
 12638709 52082    infeasible              7.0000       12.0000 1.34e+009   71.43%
 12649309 52061       12.0000   167        7.0000       12.0000 1.35e+009   71.43%
 12657310 51958       12.0000   103        7.0000       12.0000 1.35e+009   71.43%
Elapsed time = 107455.34 sec. (20195623.75 ticks, tree = 1385.30 MB, solutions = 5)
 12665379 51936       12.0000   152        7.0000       12.0000 1.35e+009   71.43%
 12673410 52011       12.0000    97        7.0000       12.0000 1.35e+009   71.43%
 12682292 51997       12.0000   104        7.0000       12.0000 1.35e+009   71.43%
 12689806 51907       12.0000   125        7.0000       12.0000 1.35e+009   71.43%
 12697896 51907       12.0000    56        7.0000       12.0000 1.35e+009   71.43%
 12705311 51873    infeasible              7.0000       12.0000 1.35e+009   71.43%
 12714827 51821       12.0000    75        7.0000       12.0000 1.35e+009   71.43%
 12721660 51788       12.0000    86        7.0000       12.0000 1.35e+009   71.43%
 12728046 51925    infeasible              7.0000       12.0000 1.35e+009   71.43%
 12734112 51849       12.0000    77        7.0000       12.0000 1.35e+009   71.43%
Elapsed time = 108525.17 sec. (20348382.86 ticks, tree = 1381.95 MB, solutions = 5)
 12741398 51768       12.0000    53        7.0000       12.0000 1.36e+009   71.43%
 12748475 51830       12.0000   156        7.0000       12.0000 1.36e+009   71.43%
 12757269 51798    infeasible              7.0000       12.0000 1.36e+009   71.43%
 12764856 51810    infeasible              7.0000       12.0000 1.36e+009   71.43%
 12770819 51782       12.0000    75        7.0000       12.0000 1.36e+009   71.43%
 12776867 51712       12.0000   113        7.0000       12.0000 1.36e+009   71.43%
 12784975 51730       12.0000   108        7.0000       12.0000 1.36e+009   71.43%
 12792259 51695       12.0000   108        7.0000       12.0000 1.36e+009   71.43%
 12799666 51668       12.0000    87        7.0000       12.0000 1.36e+009   71.43%
 12806102 51650       12.0000   111        7.0000       12.0000 1.36e+009   71.43%
Elapsed time = 109529.97 sec. (20501127.37 ticks, tree = 1376.20 MB, solutions = 5)
 12814221 51582       12.0000   119        7.0000       12.0000 1.36e+009   71.43%
 12821652 51671       12.0000   158        7.0000       12.0000 1.36e+009   71.43%
 12828419 51589    infeasible              7.0000       12.0000 1.37e+009   71.43%
 12834340 51549       12.0000   147        7.0000       12.0000 1.37e+009   71.43%
 12840999 51564       12.0000   128        7.0000       12.0000 1.37e+009   71.43%
 12847141 51547       12.0000    81        7.0000       12.0000 1.37e+009   71.43%
 12852534 51492       12.0000    88        7.0000       12.0000 1.37e+009   71.43%
 12858219 51492       12.0000   130        7.0000       12.0000 1.37e+009   71.43%
 12865206 51654       12.0000   115        7.0000       12.0000 1.37e+009   71.43%
 12873298 51623    infeasible              7.0000       12.0000 1.37e+009   71.43%
Elapsed time = 110481.05 sec. (20653919.61 ticks, tree = 1375.42 MB, solutions = 5)
 12880597 51630       12.0000    73        7.0000       12.0000 1.37e+009   71.43%
 12887375 51485       12.0000    90        7.0000       12.0000 1.37e+009   71.43%
 12893187 51479       12.0000    78        7.0000       12.0000 1.37e+009   71.43%
 12900289 51553       12.0000    93        7.0000       12.0000 1.37e+009   71.43%
 12906112 51445       12.0000    94        7.0000       12.0000 1.38e+009   71.43%
 12912554 51426    infeasible              7.0000       12.0000 1.38e+009   71.43%
 12920014 51417    infeasible              7.0000       12.0000 1.38e+009   71.43%
 12927654 51465       12.0000    72        7.0000       12.0000 1.38e+009   71.43%
 12933374 51457    infeasible              7.0000       12.0000 1.38e+009   71.43%
 12941635 51498       12.0000   102        7.0000       12.0000 1.38e+009   71.43%
Elapsed time = 111415.19 sec. (20806845.26 ticks, tree = 1371.97 MB, solutions = 5)
 12949930 51599       12.0000    74        7.0000       12.0000 1.38e+009   71.43%
 12958221 51426       12.0000    73        7.0000       12.0000 1.38e+009   71.43%
 12966679 51439    infeasible              7.0000       12.0000 1.38e+009   71.43%
 12974816 51476       12.0000    75        7.0000       12.0000 1.38e+009   71.43%
 12982493 51444    infeasible              7.0000       12.0000 1.38e+009   71.43%
 12989330 51430       12.0000    68        7.0000       12.0000 1.38e+009   71.43%
 12996760 51411       12.0000    79        7.0000       12.0000 1.39e+009   71.43%
 13002702 51405    infeasible              7.0000       12.0000 1.39e+009   71.43%
 13008578 51423    infeasible              7.0000       12.0000 1.39e+009   71.43%
 13014075 51386       12.0000   103        7.0000       12.0000 1.39e+009   71.43%
Elapsed time = 112396.88 sec. (20959654.74 ticks, tree = 1369.27 MB, solutions = 5)
 13020055 51427       12.0000    84        7.0000       12.0000 1.39e+009   71.43%
 13026553 51442    infeasible              7.0000       12.0000 1.39e+009   71.43%
 13033801 51469    infeasible              7.0000       12.0000 1.39e+009   71.43%
 13040941 51447    infeasible              7.0000       12.0000 1.39e+009   71.43%
 13047232 51405       12.0000   106        7.0000       12.0000 1.39e+009   71.43%
 13054322 51397       12.0000    80        7.0000       12.0000 1.39e+009   71.43%
 13062050 51411    infeasible              7.0000       12.0000 1.39e+009   71.43%
 13068477 51410    infeasible              7.0000       12.0000 1.40e+009   71.43%
 13074398 51443       12.0000   108        7.0000       12.0000 1.40e+009   71.43%
 13080293 51424       12.0000    91        7.0000       12.0000 1.40e+009   71.43%
Elapsed time = 113292.97 sec. (21112475.89 ticks, tree = 1370.30 MB, solutions = 5)
 13086096 51397       12.0000   122        7.0000       12.0000 1.40e+009   71.43%
 13091060 51418    infeasible              7.0000       12.0000 1.40e+009   71.43%
 13096245 51401       12.0000   137        7.0000       12.0000 1.40e+009   71.43%
 13101554 51479       12.0000    81        7.0000       12.0000 1.40e+009   71.43%
 13106449 51375       12.0000   122        7.0000       12.0000 1.40e+009   71.43%
 13111741 51378       12.0000   129        7.0000       12.0000 1.40e+009   71.43%
 13117274 51511       12.0000    41        7.0000       12.0000 1.40e+009   71.43%
 13125259 51631    infeasible              7.0000       12.0000 1.40e+009   71.43%
 13133041 51724       12.0000    76        7.0000       12.0000 1.40e+009   71.43%
 13143172 51807       12.0000    65        7.0000       12.0000 1.41e+009   71.43%
Elapsed time = 114142.64 sec. (21265261.79 ticks, tree = 1378.70 MB, solutions = 5)
 13152349 51739       12.0000    80        7.0000       12.0000 1.41e+009   71.43%
 13159867 51721       12.0000    97        7.0000       12.0000 1.41e+009   71.43%
 13167873 51858       12.0000   170        7.0000       12.0000 1.41e+009   71.43%
 13175361 51861       12.0000    85        7.0000       12.0000 1.41e+009   71.43%
 13182722 51824       12.0000   113        7.0000       12.0000 1.41e+009   71.43%
 13189356 51745       12.0000   114        7.0000       12.0000 1.41e+009   71.43%
 13196323 51897       12.0000    70        7.0000       12.0000 1.41e+009   71.43%
 13203028 51933       12.0000   101        7.0000       12.0000 1.41e+009   71.43%
 13209904 51958       12.0000   100        7.0000       12.0000 1.41e+009   71.43%
 13217045 51862       12.0000    91        7.0000       12.0000 1.41e+009   71.43%
Elapsed time = 115120.94 sec. (21418054.69 ticks, tree = 1382.21 MB, solutions = 5)
 13224719 51858       12.0000    72        7.0000       12.0000 1.41e+009   71.43%
 13232624 51867    infeasible              7.0000       12.0000 1.42e+009   71.43%
 13242003 51875       12.0000   106        7.0000       12.0000 1.42e+009   71.43%
 13249109 51799    infeasible              7.0000       12.0000 1.42e+009   71.43%
 13256095 51941       12.0000   109        7.0000       12.0000 1.42e+009   71.43%
 13265705 52010    infeasible              7.0000       12.0000 1.42e+009   71.43%
 13277134 51954    infeasible              7.0000       12.0000 1.42e+009   71.43%
 13285311 51832    infeasible              7.0000       12.0000 1.42e+009   71.43%
 13293410 51880       12.0000    78        7.0000       12.0000 1.42e+009   71.43%
 13299749 51741    infeasible              7.0000       12.0000 1.42e+009   71.43%
Elapsed time = 116151.03 sec. (21570761.69 ticks, tree = 1378.55 MB, solutions = 5)
 13305956 51838    infeasible              7.0000       12.0000 1.42e+009   71.43%
 13313136 51810       12.0000   141        7.0000       12.0000 1.42e+009   71.43%
 13323220 51775    infeasible              7.0000       12.0000 1.42e+009   71.43%
 13329068 51706       12.0000    63        7.0000       12.0000 1.43e+009   71.43%
 13335788 51672       12.0000    77        7.0000       12.0000 1.43e+009   71.43%
 13342159 51666       12.0000    97        7.0000       12.0000 1.43e+009   71.43%
 13348134 51644       12.0000    95        7.0000       12.0000 1.43e+009   71.43%
 13354359 51623       12.0000    92        7.0000       12.0000 1.43e+009   71.43%
 13359790 51582       12.0000   134        7.0000       12.0000 1.43e+009   71.43%
 13364347 51645       12.0000   119        7.0000       12.0000 1.43e+009   71.43%
Elapsed time = 117058.53 sec. (21723509.36 ticks, tree = 1375.66 MB, solutions = 5)
 13370722 51608    infeasible              7.0000       12.0000 1.43e+009   71.43%
 13376261 51597       12.0000    49        7.0000       12.0000 1.43e+009   71.43%
 13384321 51633       12.0000    67        7.0000       12.0000 1.43e+009   71.43%
 13391414 51604    infeasible              7.0000       12.0000 1.43e+009   71.43%
 13397432 51610    infeasible              7.0000       12.0000 1.43e+009   71.43%
 13403357 51532    infeasible              7.0000       12.0000 1.44e+009   71.43%
 13410002 51544    infeasible              7.0000       12.0000 1.44e+009   71.43%
 13415666 51550       12.0000    89        7.0000       12.0000 1.44e+009   71.43%
 13423080 51552       12.0000    79        7.0000       12.0000 1.44e+009   71.43%
 13432752 51625       12.0000    77        7.0000       12.0000 1.44e+009   71.43%
Elapsed time = 118014.58 sec. (21876302.63 ticks, tree = 1375.50 MB, solutions = 5)
 13440570 51562       12.0000   104        7.0000       12.0000 1.44e+009   71.43%
 13447505 51595       12.0000   140        7.0000       12.0000 1.44e+009   71.43%
 13453122 51513       12.0000    79        7.0000       12.0000 1.44e+009   71.43%
 13459020 51492       12.0000   112        7.0000       12.0000 1.44e+009   71.43%
 13465316 51500       12.0000    75        7.0000       12.0000 1.44e+009   71.43%
 13471280 51471    infeasible              7.0000       12.0000 1.44e+009   71.43%
 13475996 51453    infeasible              7.0000       12.0000 1.44e+009   71.43%
 13480867 51483       12.0000   140        7.0000       12.0000 1.45e+009   71.43%
 13485327 51499       12.0000   107        7.0000       12.0000 1.45e+009   71.43%
 13490936 51504       12.0000   104        7.0000       12.0000 1.45e+009   71.43%
Elapsed time = 118852.27 sec. (22029161.69 ticks, tree = 1372.51 MB, solutions = 5)
 13496808 51476       12.0000    84        7.0000       12.0000 1.45e+009   71.43%
 13502444 51469    infeasible              7.0000       12.0000 1.45e+009   71.43%
 13507819 51522       12.0000    97        7.0000       12.0000 1.45e+009   71.43%
 13513628 51495       12.0000   107        7.0000       12.0000 1.45e+009   71.43%
 13519454 51525    infeasible              7.0000       12.0000 1.45e+009   71.43%
 13525291 51507    infeasible              7.0000       12.0000 1.45e+009   71.43%
 13530223 51475       12.0000    98        7.0000       12.0000 1.45e+009   71.43%
 13535847 51502       12.0000   118        7.0000       12.0000 1.45e+009   71.43%
 13541768 51481       12.0000   144        7.0000       12.0000 1.46e+009   71.43%
 13547526 51515       12.0000   132        7.0000       12.0000 1.46e+009   71.43%
Elapsed time = 119676.63 sec. (22181925.86 ticks, tree = 1372.95 MB, solutions = 5)
 13552781 51504       12.0000   114        7.0000       12.0000 1.46e+009   71.43%
 13558016 51460    infeasible              7.0000       12.0000 1.46e+009   71.43%
 13562390 51435       12.0000   141        7.0000       12.0000 1.46e+009   71.43%
 13568349 51486       12.0000    80        7.0000       12.0000 1.46e+009   71.43%
 13574160 51515    infeasible              7.0000       12.0000 1.46e+009   71.43%
 13579470 51446       12.0000   178        7.0000       12.0000 1.46e+009   71.43%
 13584819 51433       12.0000    87        7.0000       12.0000 1.46e+009   71.43%
 13590193 51404       12.0000   132        7.0000       12.0000 1.46e+009   71.43%
 13595829 51419       12.0000   101        7.0000       12.0000 1.46e+009   71.43%
 13600955 51407    infeasible              7.0000       12.0000 1.46e+009   71.43%
Elapsed time = 120433.13 sec. (22334773.33 ticks, tree = 1369.92 MB, solutions = 5)
 13606320 51402       12.0000   104        7.0000       12.0000 1.47e+009   71.43%
 13611352 51418       12.0000    93        7.0000       12.0000 1.47e+009   71.43%
 13615913 51434       12.0000   127        7.0000       12.0000 1.47e+009   71.43%
 13620298 51432    infeasible              7.0000       12.0000 1.47e+009   71.43%
 13624864 51448       12.0000   119        7.0000       12.0000 1.47e+009   71.43%
 13629473 51417       12.0000   136        7.0000       12.0000 1.47e+009   71.43%
 13634708 51484       12.0000   118        7.0000       12.0000 1.47e+009   71.43%
 13642265 51451       12.0000    78        7.0000       12.0000 1.47e+009   71.43%
 13648153 51420    infeasible              7.0000       12.0000 1.47e+009   71.43%
 13652736 51416       12.0000    99        7.0000       12.0000 1.47e+009   71.43%
Elapsed time = 121225.39 sec. (22487583.41 ticks, tree = 1371.09 MB, solutions = 5)
 13656941 51415       12.0000   118        7.0000       12.0000 1.47e+009   71.43%
 13661165 51403       12.0000   107        7.0000       12.0000 1.48e+009   71.43%
 13665431 51413       12.0000    84        7.0000       12.0000 1.48e+009   71.43%
 13668905 51422    infeasible              7.0000       12.0000 1.48e+009   71.43%
 13672816 51402    infeasible              7.0000       12.0000 1.48e+009   71.43%
 13676926 51403       12.0000   125        7.0000       12.0000 1.48e+009   71.43%
 13682457 51389       12.0000    85        7.0000       12.0000 1.48e+009   71.43%
 13688641 51388    infeasible              7.0000       12.0000 1.48e+009   71.43%
 13694952 51479    infeasible              7.0000       12.0000 1.48e+009   71.43%
 13702302 51405    infeasible              7.0000       12.0000 1.48e+009   71.43%
Elapsed time = 121995.28 sec. (22640388.64 ticks, tree = 1369.93 MB, solutions = 5)
 13709064 51437    infeasible              7.0000       12.0000 1.48e+009   71.43%
 13715788 51467    infeasible              7.0000       12.0000 1.48e+009   71.43%
 13724696 51493       12.0000   152        7.0000       12.0000 1.48e+009   71.43%
 13734280 51494    infeasible              7.0000       12.0000 1.49e+009   71.43%
 13741028 51404    infeasible              7.0000       12.0000 1.49e+009   71.43%
 13746239 51385       12.0000   127        7.0000       12.0000 1.49e+009   71.43%
 13750920 51390    infeasible              7.0000       12.0000 1.49e+009   71.43%
 13755821 51480       12.0000    76        7.0000       12.0000 1.49e+009   71.43%
 13760614 51503    infeasible              7.0000       12.0000 1.49e+009   71.43%
 13765760 51508       12.0000    70        7.0000       12.0000 1.49e+009   71.43%
Elapsed time = 122860.56 sec. (22793125.03 ticks, tree = 1372.67 MB, solutions = 5)
 13770325 51494       12.0000   122        7.0000       12.0000 1.49e+009   71.43%
 13774520 51518    infeasible              7.0000       12.0000 1.49e+009   71.43%
 13778990 51491       12.0000   100        7.0000       12.0000 1.49e+009   71.43%
 13783722 51460    infeasible              7.0000       12.0000 1.49e+009   71.43%
 13789214 51477    infeasible              7.0000       12.0000 1.50e+009   71.43%
 13794215 51462    infeasible              7.0000       12.0000 1.50e+009   71.43%
 13799272 51448    infeasible              7.0000       12.0000 1.50e+009   71.43%
 13804101 51433    infeasible              7.0000       12.0000 1.50e+009   71.43%
 13808548 51434    infeasible              7.0000       12.0000 1.50e+009   71.43%
 13812681 51427       12.0000   105        7.0000       12.0000 1.50e+009   71.43%
Elapsed time = 123586.50 sec. (22946076.19 ticks, tree = 1370.51 MB, solutions = 5)
 13816511 51394       12.0000    89        7.0000       12.0000 1.50e+009   71.43%
 13820721 51420       12.0000    88        7.0000       12.0000 1.50e+009   71.43%
 13825060 51402    infeasible              7.0000       12.0000 1.50e+009   71.43%
 13829356 51406       12.0000    55        7.0000       12.0000 1.50e+009   71.43%
 13833462 51434       12.0000   128        7.0000       12.0000 1.50e+009   71.43%
 13837528 51448       12.0000    90        7.0000       12.0000 1.51e+009   71.43%
 13841790 51431       12.0000   130        7.0000       12.0000 1.51e+009   71.43%
 13845681 51393    infeasible              7.0000       12.0000 1.51e+009   71.43%
 13849189 51399       12.0000   111        7.0000       12.0000 1.51e+009   71.43%
 13852979 51417    infeasible              7.0000       12.0000 1.51e+009   71.43%
Elapsed time = 124268.47 sec. (23098859.75 ticks, tree = 1369.84 MB, solutions = 5)
 13856967 51400    infeasible              7.0000       12.0000 1.51e+009   71.43%
 13860899 51403       12.0000   164        7.0000       12.0000 1.51e+009   71.43%
 13864652 51393       12.0000   111        7.0000       12.0000 1.51e+009   71.43%
 13868507 51418       12.0000   111        7.0000       12.0000 1.51e+009   71.43%
 13872251 51397       12.0000    92        7.0000       12.0000 1.51e+009   71.43%
 13876051 51381    infeasible              7.0000       12.0000 1.51e+009   71.43%
 13880549 51387       12.0000   125        7.0000       12.0000 1.51e+009   71.43%
 13885420 51394    infeasible              7.0000       12.0000 1.52e+009   71.43%
 13889858 51385       12.0000   108        7.0000       12.0000 1.52e+009   71.43%
 13893516 51360       12.0000   109        7.0000       12.0000 1.52e+009   71.43%
Elapsed time = 124962.99 sec. (23251594.82 ticks, tree = 1368.75 MB, solutions = 5)
 13897365 51371    infeasible              7.0000       12.0000 1.52e+009   71.43%
 13900699 51365       12.0000   143        7.0000       12.0000 1.52e+009   71.43%
 13905463 51417    infeasible              7.0000       12.0000 1.52e+009   71.43%
 13911171 51432       12.0000   108        7.0000       12.0000 1.52e+009   71.43%
 13916832 51416       12.0000   149        7.0000       12.0000 1.52e+009   71.43%
 13921787 51428       12.0000    85        7.0000       12.0000 1.52e+009   71.43%
 13926840 51387       12.0000   103        7.0000       12.0000 1.52e+009   71.43%
 13931648 51391       12.0000    83        7.0000       12.0000 1.52e+009   71.43%
 13935964 51343    infeasible              7.0000       12.0000 1.53e+009   71.43%
 13940440 51456    infeasible              7.0000       12.0000 1.53e+009   71.43%
Elapsed time = 125689.33 sec. (23404330.75 ticks, tree = 1370.06 MB, solutions = 5)
 13945672 51414    infeasible              7.0000       12.0000 1.53e+009   71.43%
 13950960 51390    infeasible              7.0000       12.0000 1.53e+009   71.43%
 13955884 51391    infeasible              7.0000       12.0000 1.53e+009   71.43%
 13961179 51449    infeasible              7.0000       12.0000 1.53e+009   71.43%
 13966589 51399    infeasible              7.0000       12.0000 1.53e+009   71.43%
 13971782 51392       12.0000   128        7.0000       12.0000 1.53e+009   71.43%
 13976966 51403       12.0000   125        7.0000       12.0000 1.53e+009   71.43%
 13982043 51408       12.0000    80        7.0000       12.0000 1.53e+009   71.43%
 13987009 51366       12.0000   117        7.0000       12.0000 1.53e+009   71.43%
 13991972 51390       12.0000   123        7.0000       12.0000 1.54e+009   71.43%
Elapsed time = 126454.16 sec. (23557062.02 ticks, tree = 1369.12 MB, solutions = 5)
 13996691 51405       12.0000   116        7.0000       12.0000 1.54e+009   71.43%
 14001436 51362       12.0000   101        7.0000       12.0000 1.54e+009   71.43%
 14006308 51477    infeasible              7.0000       12.0000 1.54e+009   71.43%
 14011214 51455    infeasible              7.0000       12.0000 1.54e+009   71.43%
 14015882 51447       12.0000    73        7.0000       12.0000 1.54e+009   71.43%
 14021011 51467       12.0000   129        7.0000       12.0000 1.54e+009   71.43%
 14025855 51438       12.0000   115        7.0000       12.0000 1.54e+009   71.43%
 14031142 51411       12.0000   131        7.0000       12.0000 1.54e+009   71.43%
 14035580 51389       12.0000   119        7.0000       12.0000 1.54e+009   71.43%
 14040147 51371    infeasible              7.0000       12.0000 1.54e+009   71.43%
Elapsed time = 127185.47 sec. (23709977.84 ticks, tree = 1369.03 MB, solutions = 5)
 14044832 51401       12.0000   107        7.0000       12.0000 1.54e+009   71.43%
 14049509 51373       12.0000   144        7.0000       12.0000 1.55e+009   71.43%
 14053884 51388    infeasible              7.0000       12.0000 1.55e+009   71.43%
 14058298 51372       12.0000   139        7.0000       12.0000 1.55e+009   71.43%
 14062738 51382       12.0000   118        7.0000       12.0000 1.55e+009   71.43%
 14067354 51373    infeasible              7.0000       12.0000 1.55e+009   71.43%
 14072416 51404    infeasible              7.0000       12.0000 1.55e+009   71.43%
 14077367 51364    infeasible              7.0000       12.0000 1.55e+009   71.43%
 14081639 51382       12.0000    98        7.0000       12.0000 1.55e+009   71.43%
 14085972 51367       12.0000   109        7.0000       12.0000 1.55e+009   71.43%
Elapsed time = 127927.88 sec. (23862839.22 ticks, tree = 1368.88 MB, solutions = 5)
 14090359 51395       12.0000   111        7.0000       12.0000 1.55e+009   71.43%
 14094497 51351       12.0000   139        7.0000       12.0000 1.55e+009   71.43%
 14098612 51338       12.0000   131        7.0000       12.0000 1.56e+009   71.43%
 14102533 51375    infeasible              7.0000       12.0000 1.56e+009   71.43%
 14106556 51361       12.0000    99        7.0000       12.0000 1.56e+009   71.43%
 14110248 51360       12.0000   133        7.0000       12.0000 1.56e+009   71.43%
 14114380 51380    infeasible              7.0000       12.0000 1.56e+009   71.43%
 14118542 51354       12.0000    90        7.0000       12.0000 1.56e+009   71.43%
 14122243 51372       12.0000   133        7.0000       12.0000 1.56e+009   71.43%
 14126489 51359    infeasible              7.0000       12.0000 1.56e+009   71.43%
Elapsed time = 128610.47 sec. (24015628.45 ticks, tree = 1368.53 MB, solutions = 5)
 14130845 51359    infeasible              7.0000       12.0000 1.56e+009   71.43%
 14134990 51340       12.0000   140        7.0000       12.0000 1.56e+009   71.43%
 14139830 51407       12.0000    83        7.0000       12.0000 1.56e+009   71.43%
 14144667 51345    infeasible              7.0000       12.0000 1.56e+009   71.43%
 14149081 51345    infeasible              7.0000       12.0000 1.57e+009   71.43%
 14153549 51362    infeasible              7.0000       12.0000 1.57e+009   71.43%
 14157501 51362       12.0000   126        7.0000       12.0000 1.57e+009   71.43%
 14161394 51352    infeasible              7.0000       12.0000 1.57e+009   71.43%
 14165319 51359       12.0000   161        7.0000       12.0000 1.57e+009   71.43%
 14168550 51370       12.0000   113        7.0000       12.0000 1.57e+009   71.43%
Elapsed time = 129313.77 sec. (24168485.61 ticks, tree = 1368.85 MB, solutions = 5)
 14172049 51348       12.0000   125        7.0000       12.0000 1.57e+009   71.43%
 14175389 51352       12.0000   135        7.0000       12.0000 1.57e+009   71.43%
 14178929 51349       12.0000   118        7.0000       12.0000 1.57e+009   71.43%
 14184286 51551       12.0000    96        7.0000       12.0000 1.57e+009   71.43%
 14191215 51634    infeasible              7.0000       12.0000 1.57e+009   71.43%
 14197251 51666       12.0000   148        7.0000       12.0000 1.58e+009   71.43%
 14203713 51722       12.0000    93        7.0000       12.0000 1.58e+009   71.43%
 14210288 51656       12.0000    95        7.0000       12.0000 1.58e+009   71.43%
 14216274 51590       12.0000   156        7.0000       12.0000 1.58e+009   71.43%
 14221613 51582    infeasible              7.0000       12.0000 1.58e+009   71.43%
Elapsed time = 130095.08 sec. (24321215.70 ticks, tree = 1374.55 MB, solutions = 5)
 14226618 51530    infeasible              7.0000       12.0000 1.58e+009   71.43%
 14231720 51467       12.0000    88        7.0000       12.0000 1.58e+009   71.43%
 14237321 51438       12.0000    88        7.0000       12.0000 1.58e+009   71.43%
 14242894 51415       12.0000   141        7.0000       12.0000 1.58e+009   71.43%
 14247311 51391    infeasible              7.0000       12.0000 1.58e+009   71.43%
 14252722 51485       12.0000    36        7.0000       12.0000 1.58e+009   71.43%
 14259998 51511    infeasible              7.0000       12.0000 1.58e+009   71.43%
 14267367 51486       12.0000    62        7.0000       12.0000 1.59e+009   71.43%
 14273537 51459       12.0000   116        7.0000       12.0000 1.59e+009   71.43%
 14278484 51421    infeasible              7.0000       12.0000 1.59e+009   71.43%
Elapsed time = 130842.89 sec. (24474125.66 ticks, tree = 1370.12 MB, solutions = 5)
 14283740 51485       12.0000   143        7.0000       12.0000 1.59e+009   71.43%
 14289689 51435    infeasible              7.0000       12.0000 1.59e+009   71.43%
 14294763 51436       12.0000   128        7.0000       12.0000 1.59e+009   71.43%
 14299434 51435    infeasible              7.0000       12.0000 1.59e+009   71.43%
 14304522 51410    infeasible              7.0000       12.0000 1.59e+009   71.43%
 14310643 51424       12.0000    98        7.0000       12.0000 1.59e+009   71.43%
 14316225 51376       12.0000    94        7.0000       12.0000 1.59e+009   71.43%
 14321799 51383       12.0000    95        7.0000       12.0000 1.59e+009   71.43%
 14325739 51380       12.0000   127        7.0000       12.0000 1.59e+009   71.43%
 14330591 51373       12.0000   106        7.0000       12.0000 1.60e+009   71.43%
Elapsed time = 131614.05 sec. (24626925.51 ticks, tree = 1369.19 MB, solutions = 5)
 14335462 51382    infeasible              7.0000       12.0000 1.60e+009   71.43%
 14343389 51488    infeasible              7.0000       12.0000 1.60e+009   71.43%
 14351426 51431       12.0000    93        7.0000       12.0000 1.60e+009   71.43%
 14357862 51475       12.0000   100        7.0000       12.0000 1.60e+009   71.43%
 14364162 51369    infeasible              7.0000       12.0000 1.60e+009   71.43%
 14369872 51357    infeasible              7.0000       12.0000 1.60e+009   71.43%
 14375103 51393    infeasible              7.0000       12.0000 1.60e+009   71.43%
 14379469 51367    infeasible              7.0000       12.0000 1.60e+009   71.43%
 14384361 51362    infeasible              7.0000       12.0000 1.60e+009   71.43%
 14389178 51353       12.0000   109        7.0000       12.0000 1.60e+009   71.43%
Elapsed time = 132425.09 sec. (24779667.55 ticks, tree = 1368.79 MB, solutions = 5)
 14394094 51351       12.0000   109        7.0000       12.0000 1.60e+009   71.43%
 14398324 51354       12.0000   128        7.0000       12.0000 1.61e+009   71.43%
 14402304 51363       12.0000   138        7.0000       12.0000 1.61e+009   71.43%
 14405825 51361       12.0000   129        7.0000       12.0000 1.61e+009   71.43%
 14409350 51400    infeasible              7.0000       12.0000 1.61e+009   71.43%
 14413049 51387    infeasible              7.0000       12.0000 1.61e+009   71.43%
 14416616 51358       12.0000   184        7.0000       12.0000 1.61e+009   71.43%
 14420641 51362       12.0000    77        7.0000       12.0000 1.61e+009   71.43%
 14424953 51388       12.0000    94        7.0000       12.0000 1.61e+009   71.43%
 14428420 51363       12.0000    98        7.0000       12.0000 1.61e+009   71.43%
Elapsed time = 133083.59 sec. (24932627.09 ticks, tree = 1368.33 MB, solutions = 5)
 14431945 51357       12.0000   115        7.0000       12.0000 1.61e+009   71.43%
 14435844 51342       12.0000   102        7.0000       12.0000 1.61e+009   71.43%
 14439820 51363    infeasible              7.0000       12.0000 1.61e+009   71.43%
 14443462 51332       12.0000   140        7.0000       12.0000 1.62e+009   71.43%
 14447711 51319    infeasible              7.0000       12.0000 1.62e+009   71.43%
 14451819 51336    infeasible              7.0000       12.0000 1.62e+009   71.43%
 14456048 51326    infeasible              7.0000       12.0000 1.62e+009   71.43%
 14459817 51325    infeasible              7.0000       12.0000 1.62e+009   71.43%
 14463984 51241    infeasible              7.0000       12.0000 1.62e+009   71.43%
 14471848 48810       11.0000    44        7.0000       11.0000 1.62e+009   57.14%
Elapsed time = 133792.22 sec. (25085358.60 ticks, tree = 1279.69 MB, solutions = 5)
 14478511 49018       11.0000   103        7.0000       11.0000 1.62e+009   57.14%
 14490198 45192        8.0000   101        7.0000       11.0000 1.62e+009   57.14%
 14503102 40780    infeasible              7.0000       11.0000 1.62e+009   57.14%
 14513230 37853       11.0000    58        7.0000       11.0000 1.62e+009   57.14%
 14522172 35901       11.0000   101        7.0000       11.0000 1.63e+009   57.14%
 14530063 34687       11.0000    96        7.0000       11.0000 1.63e+009   57.14%
 14538192 33611    infeasible              7.0000       11.0000 1.63e+009   57.14%
 14546483 32526       11.0000   152        7.0000       11.0000 1.63e+009   57.14%
 14554700 31616       11.0000    82        7.0000       11.0000 1.63e+009   57.14%
 14561647 31265    infeasible              7.0000       11.0000 1.63e+009   57.14%
Elapsed time = 135198.22 sec. (25238128.07 ticks, tree = 795.99 MB, solutions = 5)
 14568001 30999       11.0000    87        7.0000       11.0000 1.63e+009   57.14%
 14573595 30854    infeasible              7.0000       11.0000 1.63e+009   57.14%
 14579512 30708    infeasible              7.0000       11.0000 1.63e+009   57.14%
 14584999 30601       11.0000    66        7.0000       11.0000 1.63e+009   57.14%
 14591978 30678       11.0000    80        7.0000       11.0000 1.63e+009   57.14%
 14598988 30771       11.0000   139        7.0000       11.0000 1.63e+009   57.14%
 14604817 30771       11.0000   126        7.0000       11.0000 1.64e+009   57.14%
 14609819 30733       11.0000    86        7.0000       11.0000 1.64e+009   57.14%
 14615458 30892       11.0000   111        7.0000       11.0000 1.64e+009   57.14%
 14620938 30965    infeasible              7.0000       11.0000 1.64e+009   57.14%
Elapsed time = 136046.02 sec. (25390840.17 ticks, tree = 793.14 MB, solutions = 5)
 14626276 30991    infeasible              7.0000       11.0000 1.64e+009   57.14%
 14631031 31069    infeasible              7.0000       11.0000 1.64e+009   57.14%
 14636616 31193       11.0000   105        7.0000       11.0000 1.64e+009   57.14%
 14641959 31104    infeasible              7.0000       11.0000 1.64e+009   57.14%
 14647320 31067    infeasible              7.0000       11.0000 1.64e+009   57.14%
 14652711 31026       11.0000   118        7.0000       11.0000 1.64e+009   57.14%
 14657837 30921    infeasible              7.0000       11.0000 1.64e+009   57.14%
 14662587 30933    infeasible              7.0000       11.0000 1.64e+009   57.14%
 14667304 30916    infeasible              7.0000       11.0000 1.65e+009   57.14%
 14672420 30932    infeasible              7.0000       11.0000 1.65e+009   57.14%
Elapsed time = 136774.67 sec. (25543553.60 ticks, tree = 792.35 MB, solutions = 5)
 14677666 30896    infeasible              7.0000       11.0000 1.65e+009   57.14%
 14682867 30837       11.0000   118        7.0000       11.0000 1.65e+009   57.14%
 14688663 30728       11.0000   111        7.0000       11.0000 1.65e+009   57.14%
 14694545 30733       11.0000   121        7.0000       11.0000 1.65e+009   57.14%
 14700000 30733       11.0000   116        7.0000       11.0000 1.65e+009   57.14%
 14706413 30862       11.0000    99        7.0000       11.0000 1.65e+009   57.14%
 14714219 30880       11.0000    94        7.0000       11.0000 1.65e+009   57.14%
 14720994 30788       11.0000    74        7.0000       11.0000 1.65e+009   57.14%
 14727692 30856       11.0000    81        7.0000       11.0000 1.65e+009   57.14%
 14734516 30798       11.0000   138        7.0000       11.0000 1.65e+009   57.14%
Elapsed time = 137584.80 sec. (25696342.83 ticks, tree = 787.59 MB, solutions = 5)
 14741605 30793       11.0000    91        7.0000       11.0000 1.66e+009   57.14%
 14749138 30810    infeasible              7.0000       11.0000 1.66e+009   57.14%
 14756315 30760       11.0000    80        7.0000       11.0000 1.66e+009   57.14%
 14762729 30788       11.0000   116        7.0000       11.0000 1.66e+009   57.14%
 14769411 30991       11.0000    99        7.0000       11.0000 1.66e+009   57.14%
 14777046 30913    infeasible              7.0000       11.0000 1.66e+009   57.14%
 14784573 30963    infeasible              7.0000       11.0000 1.66e+009   57.14%
 14794112 31031    infeasible              7.0000       11.0000 1.66e+009   57.14%
 14803194 30951       11.0000   149        7.0000       11.0000 1.66e+009   57.14%
 14811929 30962    infeasible              7.0000       11.0000 1.66e+009   57.14%
Elapsed time = 138512.23 sec. (25849083.12 ticks, tree = 793.11 MB, solutions = 5)
 14820588 31016       11.0000   145        7.0000       11.0000 1.66e+009   57.14%
 14829403 30953    infeasible              7.0000       11.0000 1.66e+009   57.14%
 14837707 30923    infeasible              7.0000       11.0000 1.67e+009   57.14%
 14845502 31014       11.0000    88        7.0000       11.0000 1.67e+009   57.14%
 14854190 31047    infeasible              7.0000       11.0000 1.67e+009   57.14%
 14862145 31036       11.0000    78        7.0000       11.0000 1.67e+009   57.14%
 14870685 31063       11.0000    88        7.0000       11.0000 1.67e+009   57.14%
 14879069 31065       11.0000   107        7.0000       11.0000 1.67e+009   57.14%
 14886534 31061       11.0000    71        7.0000       11.0000 1.67e+009   57.14%
 14894559 30972    infeasible              7.0000       11.0000 1.67e+009   57.14%
Elapsed time = 139466.66 sec. (26001757.42 ticks, tree = 793.67 MB, solutions = 5)
 14901415 30899       11.0000    90        7.0000       11.0000 1.67e+009   57.14%
 14909376 30979       11.0000   101        7.0000       11.0000 1.67e+009   57.14%
 14917096 30998    infeasible              7.0000       11.0000 1.67e+009   57.14%
 14924812 30935       11.0000    89        7.0000       11.0000 1.67e+009   57.14%
 14933328 31007       11.0000   153        7.0000       11.0000 1.68e+009   57.14%
 14941542 30952       11.0000    80        7.0000       11.0000 1.68e+009   57.14%
 14950543 30977    infeasible              7.0000       11.0000 1.68e+009   57.14%
 14959707 31001       11.0000   130        7.0000       11.0000 1.68e+009   57.14%
 14968382 30920    infeasible              7.0000       11.0000 1.68e+009   57.14%
 14974883 30855    infeasible              7.0000       11.0000 1.68e+009   57.14%
Elapsed time = 140343.17 sec. (26154484.00 ticks, tree = 790.19 MB, solutions = 5)
 14981779 30867       11.0000   118        7.0000       11.0000 1.68e+009   57.14%
 14987639 30822    infeasible              7.0000       11.0000 1.68e+009   57.14%
 14994230 30847       11.0000   151        7.0000       11.0000 1.68e+009   57.14%
 15002085 30963    infeasible              7.0000       11.0000 1.68e+009   57.14%
 15010818 30923       11.0000    92        7.0000       11.0000 1.68e+009   57.14%
 15018380 30875    infeasible              7.0000       11.0000 1.68e+009   57.14%
 15026373 30885       11.0000   139        7.0000       11.0000 1.69e+009   57.14%
 15033588 30866       11.0000    99        7.0000       11.0000 1.69e+009   57.14%
 15040569 30911       11.0000    82        7.0000       11.0000 1.69e+009   57.14%
 15049755 30980    infeasible              7.0000       11.0000 1.69e+009   57.14%
Elapsed time = 141216.53 sec. (26307260.98 ticks, tree = 793.97 MB, solutions = 5)
 15058912 30918       11.0000   114        7.0000       11.0000 1.69e+009   57.14%
 15066054 30878    infeasible              7.0000       11.0000 1.69e+009   57.14%
 15072849 30863    infeasible              7.0000       11.0000 1.69e+009   57.14%
 15080229 30827       11.0000    81        7.0000       11.0000 1.69e+009   57.14%
 15086316 30776       11.0000    88        7.0000       11.0000 1.69e+009   57.14%
 15091294 30769       11.0000    84        7.0000       11.0000 1.69e+009   57.14%
 15098207 30814    infeasible              7.0000       11.0000 1.69e+009   57.14%
 15104880 30784    infeasible              7.0000       11.0000 1.69e+009   57.14%
 15109434 30782       11.0000   168        7.0000       11.0000 1.70e+009   57.14%
 15113887 30803       11.0000   123        7.0000       11.0000 1.70e+009   57.14%
Elapsed time = 142028.73 sec. (26459992.75 ticks, tree = 788.81 MB, solutions = 5)
 15118410 30827    infeasible              7.0000       11.0000 1.70e+009   57.14%
 15122911 30822    infeasible              7.0000       11.0000 1.70e+009   57.14%
 15127793 30807    infeasible              7.0000       11.0000 1.70e+009   57.14%
 15132641 30802    infeasible              7.0000       11.0000 1.70e+009   57.14%
 15137435 30780    infeasible              7.0000       11.0000 1.70e+009   57.14%
 15144389 30811       11.0000    49        7.0000       11.0000 1.70e+009   57.14%
 15152323 30786       11.0000   141        7.0000       11.0000 1.70e+009   57.14%
 15159192 30791       11.0000    62        7.0000       11.0000 1.70e+009   57.14%
 15165225 30755    infeasible              7.0000       11.0000 1.70e+009   57.14%
 15171180 30774       11.0000   134        7.0000       11.0000 1.71e+009   57.14%
Elapsed time = 142753.88 sec. (26612766.94 ticks, tree = 787.82 MB, solutions = 5)
 15178421 30780    infeasible              7.0000       11.0000 1.71e+009   57.14%
 15186609 30762       11.0000   128        7.0000       11.0000 1.71e+009   57.14%
 15194351 30795       11.0000   110        7.0000       11.0000 1.71e+009   57.14%
 15201344 30726    infeasible              7.0000       11.0000 1.71e+009   57.14%
 15208845 30726       11.0000    65        7.0000       11.0000 1.71e+009   57.14%
 15215565 30711       11.0000    91        7.0000       11.0000 1.71e+009   57.14%
 15222638 30772       11.0000    69        7.0000       11.0000 1.71e+009   57.14%
 15230367 30710       11.0000    50        7.0000       11.0000 1.71e+009   57.14%
 15237915 30745       11.0000    87        7.0000       11.0000 1.71e+009   57.14%
 15246021 30730       11.0000    63        7.0000       11.0000 1.71e+009   57.14%
Elapsed time = 143600.94 sec. (26765503.79 ticks, tree = 786.35 MB, solutions = 5)
 15254488 30736       11.0000    94        7.0000       11.0000 1.71e+009   57.14%
 15261610 30716    infeasible              7.0000       11.0000 1.71e+009   57.14%
 15267736 30747       11.0000    93        7.0000       11.0000 1.72e+009   57.14%
 15273657 30720       11.0000    87        7.0000       11.0000 1.72e+009   57.14%
 15279122 30763       11.0000   118        7.0000       11.0000 1.72e+009   57.14%
 15284148 30685    infeasible              7.0000       11.0000 1.72e+009   57.14%
 15289177 30710    infeasible              7.0000       11.0000 1.72e+009   57.14%
 15293742 30719       11.0000    95        7.0000       11.0000 1.72e+009   57.14%
 15298418 30836       11.0000   128        7.0000       11.0000 1.72e+009   57.14%
 15303440 30761    infeasible              7.0000       11.0000 1.72e+009   57.14%
Elapsed time = 144351.34 sec. (26918260.09 ticks, tree = 787.77 MB, solutions = 5)
 15307410 30718       11.0000    98        7.0000       11.0000 1.72e+009   57.14%
 15311477 30763       11.0000   122        7.0000       11.0000 1.72e+009   57.14%
 15315407 30722    infeasible              7.0000       11.0000 1.72e+009   57.14%
 15319755 30814    infeasible              7.0000       11.0000 1.73e+009   57.14%
 15324214 30767    infeasible              7.0000       11.0000 1.73e+009   57.14%
 15328199 30703       11.0000   115        7.0000       11.0000 1.73e+009   57.14%
 15332100 30683    infeasible              7.0000       11.0000 1.73e+009   57.14%
 15336897 30702       11.0000   124        7.0000       11.0000 1.73e+009   57.14%
 15342992 30702       11.0000    84        7.0000       11.0000 1.73e+009   57.14%
 15347247 30677    infeasible              7.0000       11.0000 1.73e+009   57.14%
Elapsed time = 145003.73 sec. (27071173.43 ticks, tree = 785.42 MB, solutions = 5)
 15351769 30675       11.0000   140        7.0000       11.0000 1.73e+009   57.14%
 15357353 30761    infeasible              7.0000       11.0000 1.73e+009   57.14%
 15362673 30830       11.0000   101        7.0000       11.0000 1.73e+009   57.14%
 15367363 30822    infeasible              7.0000       11.0000 1.73e+009   57.14%
 15372356 30829    infeasible              7.0000       11.0000 1.73e+009   57.14%
 15376731 30853       11.0000   105        7.0000       11.0000 1.74e+009   57.14%
 15381028 30824    infeasible              7.0000       11.0000 1.74e+009   57.14%
 15385596 30805       11.0000   138        7.0000       11.0000 1.74e+009   57.14%
 15390186 30809       11.0000   110        7.0000       11.0000 1.74e+009   57.14%
 15394547 30783       11.0000   128        7.0000       11.0000 1.74e+009   57.14%
Elapsed time = 145696.31 sec. (27223953.96 ticks, tree = 788.42 MB, solutions = 5)
 15399263 30740    infeasible              7.0000       11.0000 1.74e+009   57.14%
 15403507 30771       11.0000   102        7.0000       11.0000 1.74e+009   57.14%
 15407563 30763    infeasible              7.0000       11.0000 1.74e+009   57.14%
 15411873 30742       11.0000   130        7.0000       11.0000 1.74e+009   57.14%
 15416629 30754    infeasible              7.0000       11.0000 1.74e+009   57.14%
 15421100 30844    infeasible              7.0000       11.0000 1.74e+009   57.14%
 15425689 30865    infeasible              7.0000       11.0000 1.75e+009   57.14%
 15430200 30791    infeasible              7.0000       11.0000 1.75e+009   57.14%
 15434746 30835       11.0000    94        7.0000       11.0000 1.75e+009   57.14%
 15438992 30813    infeasible              7.0000       11.0000 1.75e+009   57.14%
Elapsed time = 146319.72 sec. (27376754.05 ticks, tree = 789.27 MB, solutions = 5)
 15443988 30814    infeasible              7.0000       11.0000 1.75e+009   57.14%
 15448464 30799       11.0000   104        7.0000       11.0000 1.75e+009   57.14%
 15452719 30774       11.0000   131        7.0000       11.0000 1.75e+009   57.14%
 15457150 30801       11.0000   112        7.0000       11.0000 1.75e+009   57.14%
 15461573 30762       11.0000    74        7.0000       11.0000 1.75e+009   57.14%
 15466153 30779       11.0000   133        7.0000       11.0000 1.75e+009   57.14%
 15470494 30774       11.0000   105        7.0000       11.0000 1.75e+009   57.14%
 15474949 30748       11.0000   114        7.0000       11.0000 1.76e+009   57.14%
 15479826 30750       11.0000    86        7.0000       11.0000 1.76e+009   57.14%
 15485437 30832       11.0000    95        7.0000       11.0000 1.76e+009   57.14%
Elapsed time = 146943.30 sec. (27529560.89 ticks, tree = 788.03 MB, solutions = 5)
 15491457 30775    infeasible              7.0000       11.0000 1.76e+009   57.14%
 15495967 30760    infeasible              7.0000       11.0000 1.76e+009   57.14%
 15500619 30752       11.0000   115        7.0000       11.0000 1.76e+009   57.14%
 15506601 30763    infeasible              7.0000       11.0000 1.76e+009   57.14%
 15511943 30747       11.0000   122        7.0000       11.0000 1.76e+009   57.14%
 15517307 30785    infeasible              7.0000       11.0000 1.76e+009   57.14%
 15523645 30756       11.0000    84        7.0000       11.0000 1.76e+009   57.14%
 15529706 30723    infeasible              7.0000       11.0000 1.76e+009   57.14%
 15535136 30698    infeasible              7.0000       11.0000 1.76e+009   57.14%
 15540811 30768    infeasible              7.0000       11.0000 1.76e+009   57.14%
Elapsed time = 147625.33 sec. (27682451.78 ticks, tree = 787.38 MB, solutions = 5)
 15547332 30740    infeasible              7.0000       11.0000 1.77e+009   57.14%
 15553007 30746       11.0000   111        7.0000       11.0000 1.77e+009   57.14%
 15559307 30754    infeasible              7.0000       11.0000 1.77e+009   57.14%
 15566279 30710    infeasible              7.0000       11.0000 1.77e+009   57.14%
 15573190 30762    infeasible              7.0000       11.0000 1.77e+009   57.14%
 15579698 30767       11.0000    83        7.0000       11.0000 1.77e+009   57.14%
 15586258 30742       11.0000    87        7.0000       11.0000 1.77e+009   57.14%
 15592395 30740    infeasible              7.0000       11.0000 1.77e+009   57.14%
 15598835 30841       11.0000    59        7.0000       11.0000 1.77e+009   57.14%
 15605415 30763       11.0000    79        7.0000       11.0000 1.77e+009   57.14%
Elapsed time = 148384.45 sec. (27835174.72 ticks, tree = 787.80 MB, solutions = 5)
 15612317 30833       11.0000    68        7.0000       11.0000 1.77e+009   57.14%
 15618320 30798    infeasible              7.0000       11.0000 1.77e+009   57.14%
 15624680 30794       11.0000    80        7.0000       11.0000 1.78e+009   57.14%
 15631648 30751       11.0000    79        7.0000       11.0000 1.78e+009   57.14%
 15637271 30767       11.0000   143        7.0000       11.0000 1.78e+009   57.14%
 15643806 30785       11.0000    78        7.0000       11.0000 1.78e+009   57.14%
 15650194 30803       11.0000   103        7.0000       11.0000 1.78e+009   57.14%
 15655974 30774    infeasible              7.0000       11.0000 1.78e+009   57.14%
 15661486 30833    infeasible              7.0000       11.0000 1.78e+009   57.14%
 15666932 30730       11.0000   117        7.0000       11.0000 1.78e+009   57.14%
Elapsed time = 149121.97 sec. (27988085.69 ticks, tree = 786.59 MB, solutions = 5)
 15672941 30727       11.0000    81        7.0000       11.0000 1.78e+009   57.14%
 15678374 30714    infeasible              7.0000       11.0000 1.78e+009   57.14%
 15683732 30707       11.0000   102        7.0000       11.0000 1.78e+009   57.14%
*15688013 30532      integral     0       11.0000       11.0000 1.78e+009    0.00%

GUB cover cuts applied:  1
Cover cuts applied:  2274
Implied bound cuts applied:  1
Flow cuts applied:  58
Mixed integer rounding cuts applied:  32
Gomory fractional cuts applied:  6

Root node processing (before b&c):
  Real time             =    2.78 sec. (1308.94 ticks)
Parallel b&c, 8 threads:
  Real time             = 149427.33 sec. (28044447.59 ticks)
  Sync time (average)   = 10574.15 sec.
  Wait time (average)   =    0.60 sec.
                          ------------
Total (root+branch&cut) = 149430.11 sec. (28045756.53 ticks)
11
20
0,5,0,0,0,
0,0,7,11,2,
0,9,3,8,0,
4,6,10,0,0,
0,0,0,1,0,

You can see that it took nearly 42 hours to find the final solution. However, we can easily change this to a decision problem asking if there is a solution for a given k.

]]>
https://blog.adamfurmanek.pl/2022/10/29/ilp-part-102/feed/ 0
ILP Part 101 — Polyominoes https://blog.adamfurmanek.pl/2022/10/22/ilp-part-101/ https://blog.adamfurmanek.pl/2022/10/22/ilp-part-101/#respond Sat, 22 Oct 2022 08:00:29 +0000 https://blog.adamfurmanek.pl/?p=4697 Continue reading ILP Part 101 — Polyominoes]]>

This is the one hundred and first part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Today we’re going to solve Polyominoes. We have a set of polyominoes that needs to enclose an area of the greatest possible area. Let’s see the solution:

var pieces = new []{
	new []{
		"XX",
		"X ",
		"X "
	},
	new[]{
		" XX",
		"XX "
	},
	new[]{
		"XX ",
		" XX"
	},
	new[]{
		"X ",
		"XX",
		"X "
	},
	new[]{
		"XX",
		"XX"
	},
	new[]{
		"XXXX"
	},
	new[]{
		"X ",
		"X ",
		"XX"
	}
};

var totalLength = pieces.Select(p => (int)Math.Max(p.Length, p[0].Length)).Sum();
var maxLength = pieces.Max(p => (int)Math.Max(p.Length, p[0].Length));
var width = totalLength + 2;
var height = width;
var piecesCount = pieces.Length;
// Right, down, left, up
var directions = 4; 

var heads = Enumerable.Range(0, height).Select(h =>
	Enumerable.Range(0, width).Select(w => 
		Enumerable.Range(0, piecesCount).Select(p => 
			Enumerable.Range(0, directions).Select(d =>
				solver.CreateAnonymous(Domain.BinaryInteger)
			).ToArray()
		).ToArray()
	).ToArray()
).ToArray();

var isInterior = Enumerable.Range(0, height).Select(h =>
	Enumerable.Range(0, width).Select(w => 
		solver.CreateAnonymous(Domain.BinaryInteger)
	).ToArray()
).ToArray();

var isBoundary = Enumerable.Range(0, height).Select(h =>
	Enumerable.Range(0, width).Select(w => 
		solver.CreateAnonymous(Domain.BinaryInteger)
	).ToArray()
).ToArray();

Func<string[], int, string[]> rotatePiece = (piece, direction) => {
	if(direction == 0){
		return piece;
	}else if(direction == 2){
		return piece.Select(l => string.Join("", l.Reverse())).Reverse().ToArray();
	}else if(direction == 1){
		return Enumerable.Range(0, piece[0].Length)
			.Select(c => string.Join("", Enumerable.Range(0, piece.Length).Select(w => piece[piece.Length - 1 - w][c])))
			.ToArray();
	}else {
		return Enumerable.Range(0, piece[0].Length)
			.Select(c => string.Join("", Enumerable.Range(0, piece.Length).Select(w => piece[w][piece[0].Length - 1 - c])))
			.ToArray();
	}
};

// Put pieces on the board
for(int p=0;p<piecesCount;++p){
	solver.Set<Equal>(
		solver.FromConstant(1),
		solver.Operation<Addition>(
			Enumerable.Range(0, height).SelectMany(h =>
				Enumerable.Range(0, width).SelectMany(w =>
					Enumerable.Range(0, directions).Select(d =>
						heads[h][w][p][d]
					)
				)
			).ToArray()
		)
	);
}

// Make sure pieces don't fall off the board
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		for(int p=0;p<piecesCount;++p){
			for(int d = 0; d < directions;++d){
				var piece = rotatePiece(pieces[p], d);
				if(d == 0){
					if(w + piece[0].Length - 1 >= width){
						heads[h][w][p][d].Set<Equal>(solver.FromConstant(0));
					}
				}else if(d == 1){
					if(h + piece.Length - 1 >= height){
						heads[h][w][p][d].Set<Equal>(solver.FromConstant(0));
					}
				}else if(d == 2){
					if(w - piece[0].Length + 1 < 0){
						heads[h][w][p][d].Set<Equal>(solver.FromConstant(0));
					}
				}else if(d == 3){
					if(h - piece.Length + 1 < 0){
						heads[h][w][p][d].Set<Equal>(solver.FromConstant(0));
					}
				}
			}
		}
	}
}

// Set impacts
IList<Tuple<int, int, int, int>>[][] allImpacts = Enumerable.Range(0, height).Select(h =>
	Enumerable.Range(0, width).Select(w => 
		new List<Tuple<int, int, int, int>>()
	).ToArray()
).ToArray();

for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		for(int p=0;p<piecesCount;++p){
			for(int d = 0; d < directions;++d){
				var piece = rotatePiece(pieces[p], d);
				var pieceWidth = piece[0].Length;
				var pieceHeight = piece.Length;
				for(int y=0;y<pieceHeight;++y){
					for(int x=0;x<pieceWidth;++x){
						var isPieceX = piece[y][x] == 'X';
						if(!isPieceX) continue;
						
						var finalY = d == 0 || d == 1 ? h + y : y - pieceHeight + 1 + y;
						var finalX = d == 0 || d == 1 ? w + x : x - pieceWidth + 1 + x;
						
						if(finalY >= 0 && finalY < height && finalX >=0 && finalX < width){
							allImpacts[finalY][finalX].Add(Tuple.Create(h, w, p, d));
						}
					}
				}
			}
		}
	}
}

// Set the boundary
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		isBoundary[h][w].Set<Equal>(
			solver.Operation<Addition>(
				allImpacts[h][w].Select(t => heads[t.Item1][t.Item2][t.Item3][t.Item4]).ToArray()
			)
		);
	}
}

// Make sure pieces do not overlap
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		solver.Set<LessOrEqual>(
			solver.Operation<Addition>(
				allImpacts[h][w].Select(t => heads[t.Item1][t.Item2][t.Item3][t.Item4]).ToArray()
			),
			solver.FromConstant(1)
		);
	}
}


// Extend interior
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		for(int y=-1;y<=1;++y){
			for(int x=-1;x<=1;++x){
				if(y == 0 && x == 0){
					continue;
				}
				
				if(h + y < 0 || h + y >= height){
					continue;
				}
				
				if(w + x < 0 || w + x >= width){
					continue;
				}
				
				solver.Set<Equal>(
					solver.FromConstant(1),
					solver.Operation<MaterialImplication>(
						solver.Operation<Conjunction>(
							isInterior[h][w],
							isBoundary[h + y][w + x].Operation<BinaryNegation>()
						),
						isInterior[h + y][w + x]
					)
				);
			}
		}
	}
}

// Make sure there is some exterior
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		if(h == 0 || h == height - 1 || w == 0 || w == width - 1){
			solver.Set<Equal>(
				solver.FromConstant(0),
				isInterior[h][w]
			);
			solver.Set<Equal>(
				solver.FromConstant(0),
				isBoundary[h][w]
			);
		}
	}
}

// Make sure a field cannot be both exterior and boundary
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		solver.Set<LessOrEqual>(
			solver.Operation<Addition>(
				isInterior[h][w],
				isBoundary[h][w]
			),
			solver.FromConstant(1)
		);
	}
}

var goal = solver.Operation<Addition>(isInterior.SelectMany(x => x).ToArray());
solver.AddGoal("goal", goal);
solver.Solve();

Console.WriteLine(solver.GetValue(goal));

var board = Enumerable.Range(0, height).Select(h => new String(' ', width).ToCharArray()).ToArray();

for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		for(int p=0;p<piecesCount;++p){
			for(int d = 0; d < directions;++d){
				var piece = rotatePiece(pieces[p], d);
				var pieceWidth = piece[0].Length;
				var pieceHeight = piece.Length;
				if(solver.GetValue(heads[h][w][p][d]) > 0.5){
					for(int y=0;y<pieceHeight;++y){
						for(int x=0;x<pieceWidth;++x){
							var finalY = d == 0 || d == 1 ? h + y : y - pieceHeight + 1 + y;
							var finalX = d == 0 || d == 1 ? w + x : x - pieceWidth + 1 + x;
							
							if(finalY >= 0 && finalY < height && finalX >=0 && finalX < width){
								board[finalY][finalX] = piece[y][x];
							}else {
								Console.WriteLine("Error in " + h + " " + w + " " + p  + " " + d  + " " + y + " " + x);
							}
						}
					}
				}
			}
		}
	}
}

foreach(var l in board){
	Console.WriteLine(string.Join("", l));
}
Console.WriteLine();


for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		Console.Write(Math.Round(solver.GetValue(isInterior[h][w])));
	}
	Console.WriteLine();
}
Console.WriteLine();


for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		Console.Write(Math.Round(solver.GetValue(isBoundary[h][w])));
	}
	Console.WriteLine();
}
Console.WriteLine();

We start with the definition of pieces (lines 1-32). They are encoded as strings so we can rotate them easily later on. Next goes a couple of helper variables.

Our model has three sets of variables. First is heads that indicates if a given piece was put on a board at a given place with a given rotation (lines 42-50).

Next, we have bit flags indicating if a given field belongs to the interior of the enclosed area (lines 52-56), and similar flags for the boundary (58-62).

Next, we have a helper function to rate a piece (lines 64-78).

And then we go with rules. First, we make sure that each piece is put somewhere. So we sum all of the flags for each piece, and set it to one (lines 80-94).

Then, we need to make sure that we don’t put pieces too close to the boundary. We set corresponding flags to zer (lines 96-122).

Next, we need to exclude some invalid solutions. First, for every field we calculate which pieces could “impact it”. So we check all the positions of all the pieces in the all possible rotations, and store the result in a helper array. This is in lines 124-154.

Now, we can make sure that there is a boundary. It needs to be only in the fields covered by the polyominoes, and nowhere else. So we take all the pieces that impact a given field, and make sure that the boundary is set to the sum of those. This is in lines 156-165.

Next, we need to make sure that pieces do not overlap. So for each field we make sure that there is at most one impacting piece selected (lines 167-177).

Next, we extend the interior. We encode the logic that if a given field is internal and there is a field right next to it that is not on the boundary, then the neighbouring field must be internal as well. This is in lines 180-210. We also need to make sure some fields are external (lines 212-226). We do it for a whole “frame” encompassing the board, otherwise the solver might decide to put everything “inside-out”, so the interior is actually the exterior that is implicitly bounded by the area outside of the board.

This works in the following way. When a field is truly in the interior, then it will expand as much as possible. However, fields outside of the shape cannot be marked as internal because then there would be a case of neighbours of the frame. We take any field which is right next to the frame, and since the frame is not on the boundary, it needs to be marked as internal as well. However, we explicitly block that.

Finally, we need to make sure there are no fields that are both interior and boundary (which otherwise would be allowed and might change the optimal solution). This is in lines 228-239).

Output:

Tried aggregator 2 times.
MIP Presolve eliminated 4659 rows and 4747 columns.
MIP Presolve modified 688 coefficients.
Aggregator did 1432 substitutions.
Reduced MIP has 809 rows, 847 columns, and 4647 nonzeros.
Reduced MIP has 847 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (10.92 ticks)
Found incumbent of value 0.000000 after 0.06 sec. (33.44 ticks)
Probing time = 0.00 sec. (2.70 ticks)
Tried aggregator 1 time.
Reduced MIP has 809 rows, 847 columns, and 4647 nonzeros.
Reduced MIP has 847 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (2.75 ticks)
Probing time = 0.02 sec. (2.69 ticks)
Clique table members: 1918.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 0.02 sec. (17.35 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                            0.0000       35.0000      565     ---
      0     0       29.7678   243        0.0000       29.7678      565     ---
*     0+    0                            2.0000       29.7678      657     ---
      0     0       29.2337   242        2.0000      Cuts: 36      657     ---
*     0+    0                            3.0000       29.2337      657  874.46%
      0     0       28.7133   242        3.0000      Cuts: 99      816  857.11%
      0     0       28.5944   248        3.0000      Cuts: 26      881  853.15%
      0     0       28.3575   243        3.0000      Cuts: 21      958  845.25%
      0     0       28.1942   256        3.0000      Cuts: 27     1036  839.81%
      0     0       28.1076   244        3.0000      Cuts: 25     1120  836.92%
*     0+    0                            4.0000       28.1076     1120  602.69%
      0     0       28.1076   245        4.0000      Cuts: 12     1130  602.69%
      0     0       28.0851   255        4.0000       Cuts: 9     1150  597.76%
      0     0       27.9794   239        4.0000      Cuts: 28     1229  597.76%
      0     0       27.8878   280        4.0000      Cuts: 25     1330  597.20%
      0     0       27.8093   275        4.0000      Cuts: 23     1402  595.23%
      0     0       27.6921   275        4.0000      Cuts: 40     1520  592.30%
      0     0       27.6921   276        4.0000       Cuts: 7     1525  592.30%
*     0+    0                           20.0000       27.6921     1525   38.46%
      0     2       27.6921   276       20.0000       27.6060     1525   38.03%
Elapsed time = 0.97 sec. (335.52 ticks, tree = 0.01 MB, solutions = 5)
*     5+    5                           21.0000       27.5336     1944   31.11%
*    56    40      integral     0       22.0000       27.4817     5646   24.92%
*    63+   38                           25.0000       27.4817     5959    9.93%

Clique cuts applied:  15
Cover cuts applied:  19
Implied bound cuts applied:  63
Mixed integer rounding cuts applied:  35
Zero-half cuts applied:  53
Gomory fractional cuts applied:  1

Root node processing (before b&c):
  Real time             =    0.97 sec. (335.26 ticks)
Parallel b&c, 8 threads:
  Real time             =    0.52 sec. (250.13 ticks)
  Sync time (average)   =    0.26 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    1.49 sec. (585.39 ticks)
25

   XXXXXX
  XX    X
 XX     X
 X      XX
 X      X
 XX    XX
  XXXXXXX


00000000000
00000000000
00001111000
00011111000
00111111000
00111111000
00011110000
00000000000
00000000000

00000000000
00011111100
00110000100
01100000100
01000000110
01000000100
01100001100
00111111100
00000000000

]]>
https://blog.adamfurmanek.pl/2022/10/22/ilp-part-101/feed/ 0
ILP Part 100 — Literowce https://blog.adamfurmanek.pl/2022/10/15/ilp-part-100/ https://blog.adamfurmanek.pl/2022/10/15/ilp-part-100/#respond Sat, 15 Oct 2022 08:00:00 +0000 https://blog.adamfurmanek.pl/?p=4690 Continue reading ILP Part 100 — Literowce]]>

This is the one hundredth part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Today we’re going to solve Literowce. It’s similar to ILP Part 47 — Battleship puzzle. We have a board and some ships with letters on them. We need to put ships on the board, so they don’t collide with each other. The board has numbers on top and on the left. These numbers indicate how many ship parts are in given column or row. Also, the board has letters on the right and at the bottom. These letters indicate what is the letter closes to the edge in given row or column.

First, let’s start with the code:

var ships = new []{
	"123",
	"21",
	"32",
	"1",
	"2",
	"3"
};

var columnNumbers = new []{1, 1, 3, 1, 2, 1, 1};
var rowNumbers = new []{2, 2, 1, 1, 2, 0, 2};
var columnLetters = new []{2, 3, 3, 1, 2, 1, 2};
var rowLetters = new []{2, 3, 3, 1, 3, 0, 2};

var width = columnNumbers.Length;
var height = rowNumbers.Length;
var shipsCount = ships.Length;
// Right, down, left, up
var directions = 4; 

var assignedShips = Enumerable.Range(0, height).Select(h =>
	Enumerable.Range(0, width).Select(w => 
		Enumerable.Range(0, shipsCount).Select(s => 
			Enumerable.Range(0, directions).Select(d =>
				solver.CreateAnonymous(Domain.BinaryInteger)
			).ToArray()
		).ToArray()
	).ToArray()
).ToArray();

var boardNumbers = Enumerable.Range(0, height).Select(h =>
	Enumerable.Range(0, width).Select(w => 
		solver.CreateAnonymous(Domain.PositiveOrZeroInteger)
	).ToArray()
).ToArray();

// Make sure each field has at most one ship head
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		solver.Set<LessOrEqual>(
			solver.Operation<Addition>(
				Enumerable.Range(0, shipsCount).SelectMany(s => 
					Enumerable.Range(0, directions).Select(d =>
						assignedShips[h][w][s][d]
					)
				).ToArray()
			),
			solver.FromConstant(1)
		);
	}
}

// Make sure each ship has its head somewhere
for(int s = 0; s < shipsCount;++s){
	solver.Set<Equal>(
		solver.Operation<Addition>(
			Enumerable.Range(0, height).SelectMany(h =>
				Enumerable.Range(0, width).SelectMany(w => 
					Enumerable.Range(0, directions).Select(d =>
						assignedShips[h][w][s][d]
					)
				)
			).ToArray()
		),
		solver.FromConstant(1)
	);
}

// Propagate numbers from heads
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		for(int s = 0; s < shipsCount;++s){
			for(int d = 0; d < directions; ++ d){
				for(int p = 0; p < ships[s].Length; ++p){
					int finalH = h;
					int finalW = w;
				
					if(d == 0 && w + p < width){
						finalW = w + p;
					}else if(d == 1 && h + p < height){
						finalH = h + p;
					}else if(d == 2 && w - p >= 0){
						finalW = w - p;
					}else if(d == 3 && h - p >= 0){
						finalH = h - p;
					}
					
					solver.Set<Equal>(
						solver.FromConstant(1),
						solver.Operation<MaterialImplication>(
							assignedShips[h][w][s][d].Operation<IsEqual>(solver.FromConstant(1)),
							boardNumbers[finalH][finalW].Operation<IsEqual>(solver.FromConstant(int.Parse(ships[s][p] + "")))
						)
					);
				}
			}
		}
	}
}

// Make sure that there is as many numbers as ship parts
solver.Set<Equal>(
	solver.Operation<Addition>(
		Enumerable.Range(0, height).SelectMany(h =>
			Enumerable.Range(0, width).Select(w => 
				boardNumbers[h][w].Operation<IsGreaterOrEqual>(solver.FromConstant(1))
			)
		).ToArray()
	),
	solver.FromConstant(ships.Select(s => s.Length).Sum())
);

// Make sure ships do not run out of the board
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		for(int s = 0; s < shipsCount;++s){
			for(int d = 0; d < directions; ++ d){
				var shipLength = ships[s].Length;
				if(
					(d == 0 && w + shipLength - 1 >= width) ||
					(d == 1 && h + shipLength - 1 >= height) ||
					(d == 2 && w - shipLength + 1 < 0) ||
					(d == 3 && h - shipLength + 1 < 0)
				){
					assignedShips[h][w][s][d].Set<Equal>(solver.FromConstant(0));
				}
			}
		}
	}
}

// Make sure ships do not collide
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		for(int s = 0; s < shipsCount;++s){
			for(int d = 0; d < directions; ++ d){
				var shipLength = ships[s].Length;
				var startH = d == 3 ? h - shipLength : h - 1;
				var hLength = d == 1 || d == 3 ? shipLength + 2: 3;
				var startW = d == 2 ? w - shipLength : w - 1;
				var wLength = d == 0 || d == 2 ? shipLength + 2 : 3;
			
				var allNeighbouringFields = Enumerable.Range(startH, hLength).Where(h2 => h2 >= 0 && h2 < height).SelectMany(h2 =>
					Enumerable.Range(startW, wLength).Where(w2 => w2 >= 0 && w2 < width).Where(w2 => {
						return 
							d == 0 ? !(h2 == h && w2 >= w && w2 < w + shipLength)
							: d == 1 ? !(w2 == w && h2 >= h && h2 < h + shipLength)
							: d == 2 ? !(h2 == h && w2 > w - shipLength && w2 <= w)
							: !(w2 == w && h2 >= h - shipLength && h2 <= h);
					}).Select(w2 => 
						boardNumbers[h2][w2]
					)
				).ToArray();
				var neighboursSum = solver.Operation<Addition>(allNeighbouringFields);

				solver.Set<Equal>(
					solver.FromConstant(1),
					solver.Operation<MaterialImplication>(
						assignedShips[h][w][s][d].Operation<IsEqual>(solver.FromConstant(1)),
						neighboursSum.Operation<IsEqual>(solver.FromConstant(0))
					)
				);
			}
		}
	}
}

// Make sure there is no other ship head on a ship
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		for(int s = 0; s < shipsCount;++s){
			for(int d = 0; d < directions; ++ d){
				var shipLength = ships[s].Length;
				
				var startH = d == 3 ? h - shipLength + 1 : h;
				var hLength = d == 1 || d == 3 ? shipLength : 1;
				var startW = d == 2 ? w - shipLength + 1: w;
				var wLength = d == 0 || d == 2 ? shipLength : 1;
			
				var allNeighbouringFields = Enumerable.Range(startH, hLength).Where(h2 => h2 >= 0 && h2 < height).SelectMany(h2 =>
					Enumerable.Range(startW, wLength).Where(w2 => w2 >= 0 && w2 < width).Where(w2 => !(h2 == h && w2 == w)).SelectMany(w2 => 
						Enumerable.Range(0, shipsCount).SelectMany(s2 =>
							Enumerable.Range(0, directions).Select(d2 =>
								assignedShips[h2][w2][s2][d2]
							)
						)
					)
				).ToArray();
				
				if(allNeighbouringFields.Length == 0){
					continue;
				}
				
				var neighboursSum = solver.Operation<Addition>(allNeighbouringFields);

				solver.Set<Equal>(
					solver.FromConstant(1),
					solver.Operation<MaterialImplication>(
						assignedShips[h][w][s][d].Operation<IsEqual>(solver.FromConstant(1)),
						neighboursSum.Operation<IsEqual>(solver.FromConstant(0))
					)
				);
			}
		}
	}
}

// Make sure we put correct number of pieces in each row
for(int h = 0; h < height; ++h){
	solver.Set<Equal>(
		solver.Operation<Addition>(
			Enumerable.Range(0, width).Select(w => boardNumbers[h][w].Operation<IsGreaterOrEqual>(solver.FromConstant(1))).ToArray()
		),
		solver.FromConstant(rowNumbers[h])
	);
}

// Make sure we put correct number of pieces in each column
for(int w = 0; w < width; ++w){
	solver.Set<Equal>(
		solver.Operation<Addition>(
			Enumerable.Range(0, height).Select(h => boardNumbers[h][w].Operation<IsGreaterOrEqual>(solver.FromConstant(1))).ToArray()
		),
		solver.FromConstant(columnNumbers[w])
	);
}

// Make sure very right numbers match
for(int h = 0; h < height; ++h){
	solver.Set<Equal>(
		Enumerable.Range(0, width)
			.Select(w => boardNumbers[h][w])
			.Aggregate(
				solver.FromConstant(0), 
				(a, b) => solver.Operation<Condition>(
					b.Operation<IsGreaterOrEqual>(solver.FromConstant(1)),
					b,
					a
				)
			),
		solver.FromConstant(rowLetters[h])
	);
}

// Make sure very bottom numbers match
for(int w = 0; w < width; ++w){
	solver.Set<Equal>(
		Enumerable.Range(0, height)
			.Select(h => boardNumbers[h][w])
			.Aggregate(
				solver.FromConstant(0), 
				(a, b) => solver.Operation<Condition>(
					b.Operation<IsGreaterOrEqual>(solver.FromConstant(1)),
					b,
					a
				)
			),
		solver.FromConstant(columnLetters[w])
	);
}

var goal = solver.FromConstant(0);
solver.Solve();

for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		var hasHead = false;
		for(int s = 0; s < shipsCount;++s){
			for(int d = 0; d < directions; ++ d){
				if(solver.GetValue(assignedShips[h][w][s][d]) > 0.5){
					hasHead = true;
					Console.Write(s + "_" + d + ",");
				}
			}
		}
		if(!hasHead){
			Console.Write(",");
		}
	}
	Console.WriteLine();
}
Console.WriteLine();

for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++ w){
		var n = Math.Round(solver.GetValue(boardNumbers[h][w]));
		Console.Write(n == 0 ? " " : n.ToString());
	}
	Console.WriteLine();
}
Console.WriteLine();

That’s long. Let’s go part by part.

First, we need to define our ships. We’re not going to use letters. We’ll go with numbers instead. So the ship ABC is encoded as 123. This is in lines 1-8.

Next, we store numbers indicating how many parts are in given row and column. This is in lines 10-11.
Next, we store numbers indicating which ship part is the closest to the edge. This is in lines 12-13. Again, we replaced letters with numbers.

Next, a couple of helper variables in lines 15-19. Also, we’ll use directions represented as numbers. 0 indicates a ship stored horizontally to the right. 1 is going down. 2 is going left. 3 is going up.

Now, we need to represent our model. First, for each field at the board we’ll store a binary flag indicating whether the first part of the ship in given rotation is stored in this field. We call this part a “ship head”. This is in lines 21-29.

Another model is the actual numbers assigned to each field of the board. These numbers are non-negative, and 0 indicates that a given field is empty. This is in lines 31-35.

Next, we encode some basic rules. Each field can have at most one ship head – lines 37-51. Each ship must have its head somewhere – lines 53-67.

Next, every ship must assign numbers somewhere. So if we take ship 123 (ABC) and put its head in field 3,2, then fields 3,2; 3,3; 3,4 must have numbers assigned. We use an “if” condition encoded in ILP. This is in lines 70-99.

Next, we need to make sure that all fields without ships have no numbers assigned to them. So we count fields with numbers, and then we make sure this is equal to the total number of ship parts we have. This is in lines 101-111.

Next, we need to make sure that we don’t put a ship too close to the edge that would make it fall off the board. This is in lines 113-130.

Next, we need to make sure ships do not collide. We iterate over all fields, ships, and directions. Now, depending on the ship length and its direction, we take the correct rectangle (lines 143-153) without the ship itself. Next, we sum numbers in that rectangle, and set the sum to be equal to zero, so there are no numbers assigned. This is in lines 132-166.

Next, we make sure that when we put a ship on the board then no other ship can be put on top of it. So there is no other ship head on the top of some other ship. This is in lines 168-206.

Finally, we make sure we have correct number of ship parts in each row and column – lines 208-226.

Next, we do the same for very right and very bottom numbers in each row and column. We use condition to take the edge-most number. This is in lines 228-260.

That’s it. The output is:

Tried aggregator 3 times.
MIP Presolve eliminated 37023 rows and 18372 columns.
MIP Presolve modified 77855 coefficients.
Aggregator did 21745 substitutions.
Reduced MIP has 22830 rows, 12005 columns, and 84963 nonzeros.
Reduced MIP has 11600 binaries, 405 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.47 sec. (381.49 ticks)
Probing fixed 1264 vars, tightened 377 bounds.
Probing time = 1.36 sec. (450.22 ticks)
Tried aggregator 2 times.
MIP Presolve eliminated 6511 rows and 4392 columns.
MIP Presolve modified 686 coefficients.
Aggregator did 58 substitutions.
Reduced MIP has 16261 rows, 7555 columns, and 57744 nonzeros.
Reduced MIP has 7192 binaries, 363 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.16 sec. (115.80 ticks)
Probing time = 0.08 sec. (14.53 ticks)
Tried aggregator 1 time.
MIP Presolve modified 10 coefficients.
Reduced MIP has 16261 rows, 7555 columns, and 57744 nonzeros.
Reduced MIP has 7192 binaries, 363 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.06 sec. (33.70 ticks)
Probing time = 0.08 sec. (15.39 ticks)
Clique table members: 40522.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 0.30 sec. (404.55 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0        0.0000  2744                      0.0000     2546
      0     0        0.0000  2152                  Cuts: 4165     3126
      0     0        0.0000  1993                  Cuts: 4165     4510
      0     0        0.0000  1816                  Cuts: 1461     5047
      0     0        0.0000  2140                   Cuts: 824     5761
      0     0        0.0000  1369                  Cuts: 1162     6029

Repeating presolve.
Tried aggregator 3 times.
MIP Presolve eliminated 5864 rows and 2848 columns.
MIP Presolve modified 425 coefficients.
Aggregator did 11 substitutions.
Reduced MIP has 10388 rows, 4696 columns, and 38727 nonzeros.
Reduced MIP has 4381 binaries, 315 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.22 sec. (143.80 ticks)
Probing fixed 284 vars, tightened 1 bounds.
Probing changed sense of 95 constraints.
Probing time = 0.28 sec. (95.69 ticks)
Tried aggregator 3 times.
MIP Presolve eliminated 818 rows and 395 columns.
MIP Presolve modified 474 coefficients.
Aggregator did 10 substitutions.
Reduced MIP has 9558 rows, 4291 columns, and 35068 nonzeros.
Reduced MIP has 3988 binaries, 303 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.16 sec. (120.56 ticks)
Probing time = 0.11 sec. (18.86 ticks)
Tried aggregator 1 time.
MIP Presolve eliminated 1 rows and 1 columns.
MIP Presolve modified 4 coefficients.
Reduced MIP has 9557 rows, 4290 columns, and 35065 nonzeros.
Reduced MIP has 3987 binaries, 303 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.08 sec. (47.62 ticks)
Represolve time = 0.98 sec. (495.38 ticks)
Probing time = 0.06 sec. (11.07 ticks)
Clique table members: 25843.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 0.28 sec. (316.56 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0        0.0000  1335                      0.0000     8656
      0     0        cutoff                                       8659
Elapsed time = 9.52 sec. (4668.77 ticks, tree = 0.00 MB, solutions = 0)

GUB cover cuts applied:  11
Clique cuts applied:  298
Cover cuts applied:  3641
Implied bound cuts applied:  784
Flow cuts applied:  2
Mixed integer rounding cuts applied:  10
Zero-half cuts applied:  179
Gomory fractional cuts applied:  2

Root node processing (before b&c):
  Real time             =    9.55 sec. (4668.88 ticks)
Parallel b&c, 8 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    9.55 sec. (4668.88 ticks)
ILOG.CPLEX.CpxException: CPLEX Error  1217: No solution exists.

   at ILOG.CPLEX.CplexI.CALL(Int32 status)
   at ILOG.CPLEX.CplexI.GetXcache()
   at ILOG.CPLEX.Cplex.GetValue(INumExpr expr)
   at CplexMilpManager.Implementation.CplexMilpSolver.GetValue(IVariable variable) in C:\Users\afish\Desktop\milpmanager\CplexMilpSolver\Implementation\CplexMilpSolver.cs:line 160
   at IlpPlayground.Program1157221197.Start()
   at IlpPlayground.Env1157221197.Start()

And surprise! There is no solution! However, if we give it a little hint, and add the following constraint:

assignedShips[0][2][0][1].Set<Equal>(solver.FromConstant(1));

so we say that the very first ship should be put vertically, going down, and starting in field 0,2, then we get the following:

Tried aggregator 3 times.
MIP Presolve eliminated 57684 rows and 33893 columns.
MIP Presolve modified 70292 coefficients.
Aggregator did 11010 substitutions.
Reduced MIP has 13391 rows, 7219 columns, and 43367 nonzeros.
Reduced MIP has 6967 binaries, 252 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.27 sec. (197.56 ticks)
Probing fixed 1581 vars, tightened 272 bounds.
Probing changed sense of 84 constraints.
Probing time = 0.42 sec. (128.66 ticks)
Cover probing fixed 2 vars, tightened 4 bounds.
Tried aggregator 3 times.
MIP Presolve eliminated 5188 rows and 3247 columns.
MIP Presolve modified 853 coefficients.
Aggregator did 145 substitutions.
Reduced MIP has 8058 rows, 3827 columns, and 23926 nonzeros.
Reduced MIP has 3654 binaries, 173 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.09 sec. (65.93 ticks)
Probing fixed 92 vars, tightened 17 bounds.
Probing changed sense of 124 constraints.
Probing time = 0.17 sec. (51.29 ticks)
Tried aggregator 3 times.
MIP Presolve eliminated 852 rows and 367 columns.
MIP Presolve modified 402 coefficients.
Aggregator did 13 substitutions.
Reduced MIP has 7189 rows, 3447 columns, and 21604 nonzeros.
Reduced MIP has 3310 binaries, 137 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.11 sec. (62.52 ticks)
Probing fixed 146 vars, tightened 0 bounds.
Probing changed sense of 26 constraints.
Probing time = 0.14 sec. (42.46 ticks)
Cover probing fixed 0 vars, tightened 1 bounds.
Clique table members: 14708.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 0.09 sec. (125.71 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0        0.0000   971                      0.0000     1352
      0     0        0.0000   920                  Cuts: 1897     1692
      0     0        0.0000   877                  Cuts: 1422     1998
      0     0        0.0000  1022                  Cuts: 1624     2178
*     0+    0                            0.0000        0.0000     2437    0.00%
      0     0        cutoff              0.0000        0.0000     2437    0.00%
Elapsed time = 2.58 sec. (1339.70 ticks, tree = 0.00 MB, solutions = 1)

Clique cuts applied:  331
Cover cuts applied:  2744
Implied bound cuts applied:  968
Flow cuts applied:  3
Mixed integer rounding cuts applied:  7
Zero-half cuts applied:  20
Gomory fractional cuts applied:  7

Root node processing (before b&c):
  Real time             =    2.58 sec. (1341.27 ticks)
Parallel b&c, 8 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    2.58 sec. (1341.27 ticks)
,,0_1,,,,4_1,
,,,,5_2,,,
,,,,,,,
,,,,,3_3,,
,2_2,,,,,,
,,,,,,,
,,,,1_2,,,

  1   2
  2 3
  3
     1
23

   12

So not only it does find the solution, but also does it pretty fast.

This clearly shows that CPLEX isn’t infallible. We always need to remember that our formulas may be very correct, but the solvers may still fail us when looking for a solution.

]]>
https://blog.adamfurmanek.pl/2022/10/15/ilp-part-100/feed/ 0
ILP Part 99 — MacMahon Squares https://blog.adamfurmanek.pl/2022/10/08/ilp-part-99/ https://blog.adamfurmanek.pl/2022/10/08/ilp-part-99/#respond Sat, 08 Oct 2022 08:00:38 +0000 https://blog.adamfurmanek.pl/?p=4684 Continue reading ILP Part 99 — MacMahon Squares]]>

This is the ninetieth ninth part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Today we’re going to solve MacMahon Squares. Let’s see the code:

var elements = new []{
	new [] {0, 0, 0, 0},
	new [] {1, 0, 0, 0},
	new [] {1, 1, 0, 0},
	new [] {1, 0, 1, 0},
	new [] {1, 1, 1, 0},
	new [] {1, 1, 1, 1},
	new [] {1, 2, 0, 0},
	new [] {1, 0, 2, 0},
	new [] {1, 0, 0, 2},
	new [] {1, 2, 2, 0},
	new [] {1, 2, 0, 2},
	new [] {1, 2, 2, 2},
	new [] {1, 1, 2, 0},
	new [] {1, 1, 0, 2},
	new [] {1, 1, 2, 2},
	new [] {0, 2, 2, 1},
	new [] {1, 0, 1, 2},
	new [] {1, 2, 1, 2},
	new [] {1, 1, 1, 2},
	new [] {2, 0, 0, 0},
	new [] {2, 2, 0, 0},
	new [] {2, 0, 2, 0},
	new [] {2, 2, 2, 0},
	new [] {2, 2, 2, 2}
};

int width = 6;
int height = 4;
int rotations = elements[0].Length;
int elementsCount = elements.Length;

var fields = Enumerable.Range(0, height).Select(h =>
	Enumerable.Range(0, width).Select(w => 
		Enumerable.Range(0, elementsCount).Select(e => 
			Enumerable.Range(0, rotations).Select(r => 
				solver.CreateAnonymous(Domain.BinaryInteger)
			).ToArray()
		).ToArray()
	).ToArray()
).ToArray();

// Make sure that each element is selected only once and in only one rotation
for(int element=0;element < elementsCount;++element){
	var flags = Enumerable.Range(0, height).SelectMany(h =>
		Enumerable.Range(0, width).SelectMany(w => 
				Enumerable.Range(0, rotations).Select(r => 
					fields[h][w][element][r]
				)
			)
		).ToArray();
	solver.Operation<Addition>(flags).Set<Equal>(solver.FromConstant(1));
}

// Make sure that each field has exactly one element assigned		
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width; ++w){
		var flags = Enumerable.Range(0, elementsCount).SelectMany(e => 
				Enumerable.Range(0, rotations).Select(r => 
					fields[h][w][e][r]
				)
			).ToArray();
		solver.Operation<Addition>(flags).Set<Equal>(solver.FromConstant(1));
	}
}

// Make sure that edges match going right
for(int h = 0; h < height; ++h){
	for(int w = 0; w < width - 1; ++w){
		for(int element = 0; element < elementsCount;++element){
			for(int element2 = 0; element2 < elementsCount; ++ element2){
				if(element == element2){
					continue;
				}
				
				for(int rotation = 0; rotation < rotations;++rotation){
					for(int rotation2 = 0; rotation2 < rotations; ++ rotation2){
						if(elements[element][(rotation + 1) % rotations] != elements[element2][(rotation2 + 3) % rotations]){
							solver.Set<Equal>(
								fields[h][w][element][rotation].Operation<Conjunction>(fields[h][w+1][element2][rotation2]),
								solver.FromConstant(0)
							);
						}
					}
				}
			}
		}
	}
}

// Make sure that edges match going down
for(int h = 0; h < height - 1; ++h){
	for(int w = 0; w < width; ++w){
		for(int element = 0; element < elementsCount;++element){
			for(int element2 = 0; element2 < elementsCount; ++ element2){
				if(element == element2){
					continue;
				}
				
				for(int rotation = 0; rotation < rotations;++rotation){
					for(int rotation2 = 0; rotation2 < rotations; ++ rotation2){
						if(elements[element][(rotation + 2) % rotations] != elements[element2][(rotation2) % rotations]){
							solver.Set<Equal>(
								fields[h][w][element][rotation].Operation<Conjunction>(fields[h+1][w][element2][rotation2]),
								solver.FromConstant(0)
							);
						}
					}
				}
			}
		}
	}
}

var goal = solver.FromConstant(0);
solver.Solve();

for(int i=0;i<height;++i){
	// Top row
	for(int j=0;j<width;++j){
		for(int element = 0; element < elementsCount;++element){
			for(int rotation = 0; rotation < rotations;++rotation){
				if(solver.GetValue(fields[i][j][element][rotation]) > 0.5){
					Console.Write(" " + elements[element][rotation] + " ");
				}
			}
		}
	}
	Console.WriteLine();
	
	// Left and right
	for(int j=0;j<width;++j){
		for(int element = 0; element < elementsCount;++element){
			for(int rotation = 0; rotation < rotations;++rotation){
				if(solver.GetValue(fields[i][j][element][rotation]) > 0.5){
					Console.Write(elements[element][(rotation + 3) % rotations] + " " + elements[element][(rotation + 1) % rotations]);
				}
			}
		}
	}
	Console.WriteLine();
	
	// Bottom row
	for(int j=0;j<width;++j){
		for(int element = 0; element < elementsCount;++element){
			for(int rotation = 0; rotation < rotations;++rotation){
				if(solver.GetValue(fields[i][j][element][rotation]) > 0.5){
					Console.Write(" " + elements[element][(rotation + 2) % rotations] + " ");
				}
			}
		}
	}
	Console.WriteLine();
}
Console.WriteLine();

for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		for(int element = 0; element < elementsCount;++element){
			for(int rotation = 0; rotation < rotations;++rotation){
				if(solver.GetValue(fields[i][j][element][rotation]) > 0.5){
					Console.Write(element + "_" + rotation + ",");
				}
			}
		}
	}
	Console.WriteLine();
}
Console.WriteLine();

Let’s start with elements. We take the following image and want to encode is an array of integers (lines 1-26). Each square has four triangles: the top one, the right one, the bottom one, and the left one. We then number colors, so white is assigned 0, red is 1, blue is 2. So numbers 1, 0, 2, 0 represent a square that is white on the top, blue on the bottom, and has white sides (second square from the left in the second row).

We then define some helper variables for the board size (lines 28-31).

Next, we define the board a four-dimensional array. First dimension is the Y axis (height), then X axis (width), number of square, and finally its rotation. So element fields[y][x][element][rotation] indicates whether we decided to put element element rotated rotation times in field x, y.

Okay, now we need to encode rules. We start with the requirement that each element must be placed on the board just once. So for each element we take all the fields for all the positions and all the rotations, sum all of that, and make sure it’s equal to one – lines 43-53.

Now we do the same for all fields. So we iterate over fields, and for every one of them we take all the elements in all the rotations, sum the variables, and set to one – lines 55-65.

Now we need to match the edges. We iterate over all fields that have right edge and some other field on the right. We then iterate over all elements, and check all of their rotation combinations. We take every combination for which edges do not match, and then we make sure that such a combination cannot be selected for these two fields. This is in line 68-89. We then do the same for bottom and top endges – lines 91-113.

That’s it. Now the output:

Tried aggregator 1 time.
MIP Presolve eliminated 668917 rows and 227244 columns.
MIP Presolve modified 11663 coefficients.
Reduced MIP has 11711 rows, 1920 columns, and 231308 nonzeros.
Reduced MIP has 1920 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 5.44 sec. (2525.73 ticks)
Probing time = 0.03 sec. (3.43 ticks)
Tried aggregator 1 time.
Reduced MIP has 11711 rows, 1920 columns, and 231308 nonzeros.
Reduced MIP has 1920 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.56 sec. (285.78 ticks)
Probing time = 0.06 sec. (3.44 ticks)
Clique table members: 11711.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 2.78 sec. (1115.33 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                            0.0000        0.0000       10    0.00%
      0     0        cutoff              0.0000        0.0000       10    0.00%
      0     0        cutoff              0.0000        0.0000       10    0.00%
Elapsed time = 9.94 sec. (4355.76 ticks, tree = 0.00 MB, solutions = 1)

Root node processing (before b&c):
  Real time             =    9.98 sec. (4362.11 ticks)
Parallel b&c, 8 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    9.98 sec. (4362.11 ticks)
 0  1  1  2  1  1
2 22 00 00 11 11 2
 0  0  1  1  0  2
 0  0  1  1  0  2
1 00 00 22 11 22 1
 0  0  0  1  0  2
 0  0  0  1  0  2
1 00 22 11 11 22 2
 1  0  1  1  2  0
 1  0  1  1  2  0
0 22 00 22 22 22 2
 1  2  2  1  2  1

21_1,8_0,3_0,13_3,4_1,14_1,
1_1,0_0,6_0,18_0,7_1,11_3,
2_2,19_3,12_3,5_0,15_0,22_1,
16_2,20_2,9_0,17_0,23_0,10_2,

So we can see, that in the top right corner we selected element number 21 (it’s 0-based) in first rotation (again, 0-based). And so on.

]]>
https://blog.adamfurmanek.pl/2022/10/08/ilp-part-99/feed/ 0
ILP Part 98 — Horrendum 2 https://blog.adamfurmanek.pl/2022/10/01/ilp-part-98/ https://blog.adamfurmanek.pl/2022/10/01/ilp-part-98/#comments Sat, 01 Oct 2022 08:00:21 +0000 https://blog.adamfurmanek.pl/?p=4679 Continue reading ILP Part 98 — Horrendum 2]]>

This is the ninetieth eighth part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Today we’re going to solve Horrendum 2. We have a rectangular board. We need to fill the board with numbers from zero to four in a way that each row and column has 5 numbers and 3 empty fields. Also, each field with arrow indicates how many fields are filled in the rest of the row/column according to the direction of the arrow.

Solution:

var board = new [] {
	"   R    ",
	"D D  L  ",
	" U    U ",
	"D U R   ",
	"     D D",
	" L D  R ",
	"  R D   ",
	"        "
};

int height = board.Length;
int width = board[0].Length;

var fields = Enumerable
	.Range(0, height)
	.Select(h => Enumerable
		.Range(0, width)
		.Select(w => solver.CreateAnonymous(Domain.AnyInteger)
			.Set<GreaterOrEqual>(solver.FromConstant(-3)).Set<LessOrEqual>(solver.FromConstant(4))
		).ToArray()
	).ToArray();

// Enforce numbers in arrows
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		if(board[i][j] != ' '){
			fields[i][j].Set<GreaterOrEqual>(solver.FromConstant(0));
		}
	}
}

// Make rows unique
for(int i=0;i<height;++i){
	solver.Set<AllDifferent>(fields[i][0], Enumerable.Range(1, width - 1).Select(j => fields[i][j]).ToArray());
}

// Make columns unique
for(int j=0;j<width;++j){
	solver.Set<AllDifferent>(fields[0][j], Enumerable.Range(1, height - 1).Select(i => fields[i][j]).ToArray());
}

// Make arrows match numbers in rest of the line
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		if(board[i][j] == ' '){
			continue;
		}
			
		IVariable[] rest = null;
		
		if(board[i][j] == 'R'){
			rest = Enumerable.Range(j + 1, width - j - 1).Select(k => fields[i][k]).ToArray();
		} else if(board[i][j] == 'D'){
			rest = Enumerable.Range(i + 1, height - i - 1).Select(k => fields[k][j]).ToArray();
		} else if(board[i][j] == 'L'){
			rest = Enumerable.Range(0, j).Select(k => fields[i][k]).ToArray();
		} else {
			rest = Enumerable.Range(0, i).Select(k => fields[k][j]).ToArray();
		}
		
		solver.Operation<Addition>(rest.Select(v => v.Operation<IsGreaterOrEqual>(solver.FromConstant(0))).ToArray())
			.Set<Equal>(fields[i][j]);
	}
}

var goal = solver.FromConstant(0);
solver.Solve();

for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		var value = Math.Round(solver.GetValue(fields[i][j]));
		if(value < 0){
			Console.Write(" ");
		}else {
			Console.Write(value);
		}
	}
	Console.WriteLine();
}
Console.WriteLine();

As usual, we start with the board (lines 1-13). Next, we represent the board as a series of integers. Each field will be filled, and we’ll represent the empty fields with negative numbers (lines 15-22).

Next, we make sure that fields with arrows are filled (lines 24-31).

Next, we enforce rows and columns (like in Sudoku) – lines 3-41.

Finally, we take all the fields indicated by arrows, and make sure that these fields are filled accordingly (lines 43-65).

Output:

Tried aggregator 2 times.
MIP Presolve eliminated 1536 rows and 919 columns.
MIP Presolve modified 4614 coefficients.
Aggregator did 91 substitutions.
Reduced MIP has 2337 rows, 999 columns, and 6490 nonzeros.
Reduced MIP has 938 binaries, 61 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (6.74 ticks)
Probing fixed 17 vars, tightened 7 bounds.
Probing changed sense of 440 constraints.
Probing time = 0.03 sec. (12.09 ticks)
Cover probing fixed 0 vars, tightened 25 bounds.
Tried aggregator 2 times.
MIP Presolve eliminated 223 rows and 153 columns.
MIP Presolve modified 283 coefficients.
Aggregator did 336 substitutions.
Reduced MIP has 1778 rows, 510 columns, and 5263 nonzeros.
Reduced MIP has 450 binaries, 60 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (6.03 ticks)
Probing fixed 2 vars, tightened 1 bounds.
Probing time = 0.01 sec. (3.78 ticks)
Cover probing fixed 0 vars, tightened 1 bounds.
Tried aggregator 2 times.
MIP Presolve eliminated 6 rows and 4 columns.
MIP Presolve modified 65 coefficients.
Aggregator did 1 substitutions.
Reduced MIP has 1771 rows, 505 columns, and 5242 nonzeros.
Reduced MIP has 445 binaries, 60 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (5.36 ticks)
Probing time = 0.02 sec. (3.90 ticks)
Clique table members: 1249.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 0.00 sec. (7.39 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0        0.0000   104                      0.0000      309
      0     0        0.0000    91                    Cuts: 54      364
      0     0        0.0000   157                   Cuts: 116      500
      0     0        0.0000    66                    Cuts: 16      528
      0     0        0.0000   100                    Cuts: 60      613
      0     2        0.0000   100                      0.0000      613
Elapsed time = 0.63 sec. (214.60 ticks, tree = 0.01 MB, solutions = 0)
   1217   145        0.0000    45                      0.0000    24362
   2807   188        0.0000    41                      0.0000    51662
   4355   203        0.0000    46                      0.0000    80350
   6220   308        0.0000    43                      0.0000   103716
   6597   339        0.0000    81                      0.0000   108402
   6672   222        0.0000    37                      0.0000   111638
   7113    79        0.0000    44                      0.0000   126775
   7742    94        0.0000    27                      0.0000   146791
   8246    95        0.0000    50                      0.0000   169279
   9777    84        0.0000    50                      0.0000   230823
Elapsed time = 11.66 sec. (4402.69 ticks, tree = 0.17 MB, solutions = 0)
  11346   168        0.0000    63                      0.0000   287814
  14198   251        0.0000    52                      0.0000   386401
  17188   477    infeasible                            0.0000   502464
  20156   771        0.0000    68                      0.0000   618516
  23390   750        0.0000    41                      0.0000   743953
  27088   764        0.0000    37                      0.0000   870399
  30492  1020        0.0000    49                      0.0000   994022
  34095  1084        0.0000    39                      0.0000  1119451
  37785  1178        0.0000    84                      0.0000  1252184
  41440  1266        0.0000    44                      0.0000  1383705
Elapsed time = 44.86 sec. (13959.22 ticks, tree = 0.10 MB, solutions = 0)
  45089  1401        0.0000    59                      0.0000  1513966
  48587  1462        0.0000    37                      0.0000  1641233
  52107  1442    infeasible                            0.0000  1773688
  55809  1700        0.0000    37                      0.0000  1905442
  59276  1830        0.0000    84                      0.0000  2043446
  62717  1679        0.0000    43                      0.0000  2180412
  66350  1448        0.0000    48                      0.0000  2310054
  70373  1480    infeasible                            0.0000  2439498
  74281  1234        0.0000    29                      0.0000  2566073
  78479  1110        0.0000    52                      0.0000  2697817
Elapsed time = 74.02 sec. (23512.97 ticks, tree = 0.09 MB, solutions = 0)
  82527   873        0.0000    36                      0.0000  2818290
  86790   490    infeasible                            0.0000  2956576
* 87578   306      integral     0        0.0000        0.0000  2984334    0.00%

Root node processing (before b&c):
  Real time             =    0.61 sec. (213.77 ticks)
Parallel b&c, 8 threads:
  Real time             =   79.80 sec. (25497.28 ticks)
  Sync time (average)   =    7.33 sec.
  Wait time (average)   =    0.02 sec.
                          ------------
Total (root+branch&cut) =   80.41 sec. (25711.05 ticks)
1  3204
3 4  210
 0  3421
23140
 40  132
41 2 30
 2301  4
0 214  3

]]>
https://blog.adamfurmanek.pl/2022/10/01/ilp-part-98/feed/ 1
ILP Part 97 — Rook it advanced https://blog.adamfurmanek.pl/2022/09/24/ilp-part-97/ https://blog.adamfurmanek.pl/2022/09/24/ilp-part-97/#respond Sat, 24 Sep 2022 08:00:33 +0000 https://blog.adamfurmanek.pl/?p=4671 Continue reading ILP Part 97 — Rook it advanced]]>

This is the ninetieth seventh part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Today we are going to solve the advanced version of Uwież (Rook it). We use the solution from the last part. This time we have walls with letters, so we don’t know what numbers they represent. Also, one of the fields of the board is not attacked.

The code:

var board = new [] {
	"  A X   X ",
	"X      X  ",
	" BX  B X C",
	"    X     ",
	"  D   X  A",
	"A  D   X  ",
	"     X    ",
	"B X E  XX ",
	"  X      B",
	" X   X A  "
};

int height = board.Length;
int width = board[0].Length;

var fields = Enumerable
	.Range(0, height)
	.Select(h => Enumerable
		.Range(0, width)
		.Select(w => solver.CreateAnonymous(Domain.BinaryInteger))
		.ToArray()
	).ToArray();

var isCovered = Enumerable
	.Range(0, height)
	.Select(h => Enumerable
		.Range(0, width)
		.Select(w => solver.CreateAnonymous(Domain.BinaryInteger))
		.ToArray()
	).ToArray();

var seesOtherRook = Enumerable
	.Range(0, height)
	.Select(h => Enumerable
		.Range(0, width)
		.Select(w => solver.CreateAnonymous(Domain.BinaryInteger))
		.ToArray()
	).ToArray();

// Ban blockers
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		if(board[i][j] != ' '){
			fields[i][j].Set<Equal>(solver.FromConstant(0));
		}
	}
}

// Make letters and make sure they are unique
Dictionary<string, IVariable> letters = new Dictionary<string, IVariable>();
letters["A"] = solver.CreateAnonymous(Domain.PositiveOrZeroInteger).Set<LessOrEqual>(solver.FromConstant(4));
letters["B"] = solver.CreateAnonymous(Domain.PositiveOrZeroInteger).Set<LessOrEqual>(solver.FromConstant(4));
letters["C"] = solver.CreateAnonymous(Domain.PositiveOrZeroInteger).Set<LessOrEqual>(solver.FromConstant(4));
letters["D"] = solver.CreateAnonymous(Domain.PositiveOrZeroInteger).Set<LessOrEqual>(solver.FromConstant(4));
letters["E"] = solver.CreateAnonymous(Domain.PositiveOrZeroInteger).Set<LessOrEqual>(solver.FromConstant(4));
solver.Set<AllDifferent>(letters.Values.First(), letters.Values.Skip(1).ToArray());

// Count neighbors
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		if(board[i][j] != 'X' && board[i][j] != ' '){
			IVariable count = letters[board[i][j].ToString()];
			
			var sum = solver.FromConstant(0);
			if(j > 0) sum = sum.Operation<Addition>(fields[i][j-1]);
			if(j < width - 1) sum = sum.Operation<Addition>(fields[i][j+1]);
			if(i > 0) sum = sum.Operation<Addition>(fields[i-1][j]);
			if(i < height - 1) sum = sum.Operation<Addition>(fields[i+1][j]);
			
			sum.Set<Equal>(count);
		}
	}
}

// Find other rooks
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		var hasRook = solver.FromConstant(0);
		var stillLooking = solver.FromConstant(1);
		
		stillLooking = solver.FromConstant(1);
		for(int k=i+1;k<height;++k){
			var isThisOneRook = fields[k][j].Operation<IsEqual>(solver.FromConstant(1));
			hasRook = hasRook.Operation<Disjunction>(
				stillLooking.Operation<Conjunction>(isThisOneRook)
			);
			
			stillLooking = stillLooking.Operation<Conjunction>(
				solver.FromConstant(board[k][j] == ' ' ? 1 : 0)
			);
		}
		
		stillLooking = solver.FromConstant(1);
		for(int k=i-1;k>=0;--k){
			var isThisOneRook = fields[k][j].Operation<IsEqual>(solver.FromConstant(1));
			hasRook = hasRook.Operation<Disjunction>(
				stillLooking.Operation<Conjunction>(isThisOneRook)
			);
			
			stillLooking = stillLooking.Operation<Conjunction>(
				solver.FromConstant(board[k][j] == ' ' ? 1 : 0)
			);
		}
		
		stillLooking = solver.FromConstant(1);
		for(int k=j+1;k<width;++k){
			var isThisOneRook = fields[i][k].Operation<IsEqual>(solver.FromConstant(1));
			hasRook = hasRook.Operation<Disjunction>(
				stillLooking.Operation<Conjunction>(isThisOneRook)
			);
			
			stillLooking = stillLooking.Operation<Conjunction>(
				solver.FromConstant(board[i][k] == ' ' ? 1 : 0)
			);
		}
		
		stillLooking = solver.FromConstant(1);
		for(int k=j-1;k>=0;--k){
			var isThisOneRook = fields[i][k].Operation<IsEqual>(solver.FromConstant(1));
			hasRook = hasRook.Operation<Disjunction>(
				stillLooking.Operation<Conjunction>(isThisOneRook)
			);
			
			stillLooking = stillLooking.Operation<Conjunction>(
				solver.FromConstant(board[i][k] == ' ' ? 1 : 0)
			);
		}
		
		var isRook = fields[i][j].Operation<IsEqual>(solver.FromConstant(1));
		var isSpecial = solver.FromConstant(board[i][j] != ' ' ? 1 : 0);
		
		isCovered[i][j].Set<Equal>(
			solver.Operation<Disjunction>(
				isSpecial,
				isRook,
				hasRook
			)
		);
		
		seesOtherRook[i][j].Set<Equal>(
			solver.Operation<Conjunction>(
				isRook,
				hasRook
			)
		);
	}
}

// Make sure all but one fields ale covered
solver.Operation<Addition>(isCovered.SelectMany(c => c).ToArray()).Set<GreaterOrEqual>(solver.FromConstant(width * height - 1));

// Make sure rooks do not attack each other
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		seesOtherRook[i][j].Set<Equal>(solver.FromConstant(0));
	}
}

var goal = solver.FromConstant(0);
solver.Solve();

for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		if(board[i][j] == 'X'){
			Console.Write(board[i][j]);
		}else if(board[i][j] != ' '){
			Console.Write(Math.Round(solver.GetValue(letters[board[i][j].ToString()])));
		}else {
			Console.Write(solver.GetValue(fields[i][j]) > 0.5 ? "R" : " ");
		}
	}
	Console.WriteLine();
}
Console.WriteLine();

for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		Console.Write(solver.GetValue(isCovered[i][j]) > 0.5 ? "1" : "0");
	}
	Console.WriteLine();
}

Most of the code should be familiar. The changes are in two places.

Lines 51-57 – we need to create variables for letters. We then use them in counting neighbours in lines 60-74.
Line 151 – we make sure that all fields but one are covered.
We also print the result differently, so we can see which field is not attacked.

The output:

Reduced MIP has 1018 rows, 576 columns, and 3227 nonzeros.
Reduced MIP has 571 binaries, 5 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.06 sec. (31.09 ticks)
Found incumbent of value 0.000000 after 0.08 sec. (39.56 ticks)

Root node processing (before b&c):
  Real time             =    0.08 sec. (40.10 ticks)
Parallel b&c, 8 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.08 sec. (40.10 ticks)
 R1 X R X
X   R  X R
 0X  0 XR3
    X    R
R 2R  XR 1
1 R2  RX
    RX   R
0 XR4R XX
 RX R    0
RXR  X 1R

1111111111
1111111111
1111111111
1101111111
1111111111
1111111111
1111111111
1111111111
1111111111
1111111111

]]>
https://blog.adamfurmanek.pl/2022/09/24/ilp-part-97/feed/ 0
ILP Part 96 — Rook it! https://blog.adamfurmanek.pl/2022/09/17/ilp-part-96/ https://blog.adamfurmanek.pl/2022/09/17/ilp-part-96/#comments Sat, 17 Sep 2022 08:00:14 +0000 https://blog.adamfurmanek.pl/?p=4667 Continue reading ILP Part 96 — Rook it!]]>

This is the ninetieth sixth part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Today we are going to solve the basic version of Uwież (Rook it).

We are given a chessboard with some fields highlighted. These fields act as invisible walls, so that rooks can’t move past them. Some of these walls have numbers which indicate how many rooks there are in vertical and horizontal neighbours (so up, down, left, and right neighbours). Our goal is to put rooks on the chessboard in a way that all fields are attacked by rooks, and no two rooks attack each other. Also, walls are considered “attacked” by definition, so they don’t need to be explicitly attacked by some other rooks.

Solution:

var board = new [] {
	"X  X   ",
	"  X  0 ",
	"   2  1",
	" 4   X ",
	"3  X   ",
	" X  X  ",
	"   1  1"
};

int height = board.Length;
int width = board[0].Length;

var fields = Enumerable
	.Range(0, height)
	.Select(h => Enumerable
		.Range(0, width)
		.Select(w => solver.CreateAnonymous(Domain.BinaryInteger))
		.ToArray()
	).ToArray();

var isCovered = Enumerable
	.Range(0, height)
	.Select(h => Enumerable
		.Range(0, width)
		.Select(w => solver.CreateAnonymous(Domain.BinaryInteger))
		.ToArray()
	).ToArray();

var seesOtherRook = Enumerable
	.Range(0, height)
	.Select(h => Enumerable
		.Range(0, width)
		.Select(w => solver.CreateAnonymous(Domain.BinaryInteger))
		.ToArray()
	).ToArray();

// Ban blockers
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		if(board[i][j] != ' '){
			fields[i][j].Set<Equal>(solver.FromConstant(0));
		}
	}
}

// Count neighbors
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		if(board[i][j] != 'X' && board[i][j] != ' '){
			int count = int.Parse(board[i][j].ToString());
			
			var sum = solver.FromConstant(0);
			if(j > 0) sum = sum.Operation<Addition>(fields[i][j-1]);
			if(j < width - 1) sum = sum.Operation<Addition>(fields[i][j+1]);
			if(i > 0) sum = sum.Operation<Addition>(fields[i-1][j]);
			if(i < height - 1) sum = sum.Operation<Addition>(fields[i+1][j]);
			
			sum.Set<Equal>(solver.FromConstant(count));
		}
	}
}

// Find other rooks
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		var hasRook = solver.FromConstant(0);
		var stillLooking = solver.FromConstant(1);
		
		stillLooking = solver.FromConstant(1);
		for(int k=i+1;k<height;++k){
			var isThisOneRook = fields[k][j].Operation<IsEqual>(solver.FromConstant(1));
			hasRook = hasRook.Operation<Disjunction>(
				stillLooking.Operation<Conjunction>(isThisOneRook)
			);
			
			stillLooking = stillLooking.Operation<Conjunction>(
				solver.FromConstant(board[k][j] == ' ' ? 1 : 0)
			);
		}
		
		stillLooking = solver.FromConstant(1);
		for(int k=i-1;k>=0;--k){
			var isThisOneRook = fields[k][j].Operation<IsEqual>(solver.FromConstant(1));
			hasRook = hasRook.Operation<Disjunction>(
				stillLooking.Operation<Conjunction>(isThisOneRook)
			);
			
			stillLooking = stillLooking.Operation<Conjunction>(
				solver.FromConstant(board[k][j] == ' ' ? 1 : 0)
			);
		}
		
		stillLooking = solver.FromConstant(1);
		for(int k=j+1;k<width;++k){
			var isThisOneRook = fields[i][k].Operation<IsEqual>(solver.FromConstant(1));
			hasRook = hasRook.Operation<Disjunction>(
				stillLooking.Operation<Conjunction>(isThisOneRook)
			);
			
			stillLooking = stillLooking.Operation<Conjunction>(
				solver.FromConstant(board[i][k] == ' ' ? 1 : 0)
			);
		}
		
		stillLooking = solver.FromConstant(1);
		for(int k=j-1;k>=0;--k){
			var isThisOneRook = fields[i][k].Operation<IsEqual>(solver.FromConstant(1));
			hasRook = hasRook.Operation<Disjunction>(
				stillLooking.Operation<Conjunction>(isThisOneRook)
			);
			
			stillLooking = stillLooking.Operation<Conjunction>(
				solver.FromConstant(board[i][k] == ' ' ? 1 : 0)
			);
		}
		
		var isRook = fields[i][j].Operation<IsEqual>(solver.FromConstant(1));
		var isSpecial = solver.FromConstant(board[i][j] != ' ' ? 1 : 0);
		
		isCovered[i][j].Set<Equal>(
			solver.Operation<Disjunction>(
				isSpecial,
				isRook,
				hasRook
			)
		);
		
		seesOtherRook[i][j].Set<Equal>(
			solver.Operation<Conjunction>(
				isRook,
				hasRook
			)
		);
	}
}

// Make sure all fields ale covered
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		isCovered[i][j].Set<Equal>(solver.FromConstant(1));
	}
}

// Make sure rooks do not attack each other
for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		seesOtherRook[i][j].Set<Equal>(solver.FromConstant(0));
	}
}


var goal = solver.FromConstant(0);
solver.Solve();

for(int i=0;i<height;++i){
	for(int j=0;j<width;++j){
		if(board[i][j] != ' '){
			Console.Write(board[i][j]);
		}else {
			Console.Write(solver.GetValue(fields[i][j]) > 0.5 ? "R" : " ");
		}
	}
	Console.WriteLine();
}

We start with defining the board. Letters X indicate walls with no numbers on it. Numbers indicate walls with numbers. Spaces are empty fields.

First, we start by defining the grid of bitflags indicating where rooks are (lines 14-20). We also define additional bitflags: to indicate if given field is covered (attacked) by a rook (lines 22-28), and to indicate if given field is a rook and sees some other rook (lines 30-36).

First, we disallow placing rooks in walls. This is in lines 39-45.

Next, we make sure that walls with numbers have corrrect number of neighbours – liens 48-62.

Now comes the hard part. We iterate over all the fields. For each of them we want to find a rook attacking it. This is in lines 65-136. We do it by iterating over all directions, and checking if there is a rook that sees us. Let’s go line by line.

First, we define a variable indicating if we found a rook – line 67. We also define another variable (line 68) which says if we’re still looking for a rook in a given direction.

Next, we go in four directions. We reinitialize the variable indicating if we’re still looking for a rook (line 82). Next, we go over remaining fields in the given direction. We check if current field is a rook (line 84). Next, we update the value indicating if we found a rook. We set it to true when either it already was a true or we’re still looking and the current field is a rook (lines 85-87). Next, we update the flag indicating if we’re still looking for a rook – we stop if we hit a wall (lines 89-91).

We repeat that for three other directions. Finally, we set the field as covered (attacked) if it was a rook, was special (= a wall), or had some rook attacking it (lines 121-127). We also update the flag if the current field is a rook and sees some other rook (lines 129-133).

Now we can add remaining constraints. We make sure that all fields are covered (lines 139-143). We also make sure that there is no rook seeing other rook (lines 146-150).

Output:

Tried aggregator 1 time.
MIP Presolve eliminated 7861 rows and 4606 columns.
MIP Presolve modified 5685 coefficients.
All rows and columns eliminated.
Presolve time = 0.02 sec. (4.25 ticks)

Root node processing (before b&c):
  Real time             =    0.02 sec. (5.06 ticks)
Parallel b&c, 8 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.02 sec. (5.06 ticks)
X RX  R
  XR 0
 R 2R 1
R4R  XR
3R X
RX RX
 R 1 R1

]]>
https://blog.adamfurmanek.pl/2022/09/17/ilp-part-96/feed/ 1
ILP Part 95 — Yin and Yang https://blog.adamfurmanek.pl/2022/09/03/ilp-part-95/ https://blog.adamfurmanek.pl/2022/09/03/ilp-part-95/#respond Sat, 03 Sep 2022 08:00:04 +0000 https://blog.adamfurmanek.pl/?p=4657 Continue reading ILP Part 95 — Yin and Yang]]>

This is the ninetieth fifth part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra

Today we are going to solve this riddle. There is a board with yin and yang symbols on it. We need to cut the board in two pieces of the same shape in a way that each part contains exactly one yin and exactly one yang. In other way, we need to draw a continuous line on the board in a way that it splits the board into two parts of the same shape and the same number of yin and yang symbols.

Let’s see the code:

int width = 6;
int height = 4;

var board = new IVariable[width, height];
var ids = new IVariable[width, height];

for(int i=0;i<width;++i){
	for(int j=0;j<height;++j){
		board[i, j] = solver.CreateAnonymous(Domain.BinaryInteger);
		ids[i, j] = solver.CreateAnonymous(Domain.PositiveOrZeroInteger);
	}
}

// Symmetry
for(int i=0;i<width;++i){
	for(int j=0;j<height;++j){
		solver.Operation<Addition>(board[i, j], board[width-i-1, height-j-1]).Set<Equal>(solver.FromConstant(1));
	}
}

// Exactly one yin, yang
solver.Operation<Addition>(board[1, 0], board[2, 0]).Set<Equal>(solver.FromConstant(1));
solver.Operation<Addition>(board[1, 2], board[2, 2]).Set<Equal>(solver.FromConstant(1));

// Line
for(int i=0;i<width;++i){
	for(int j=0;j<height;++j){
		if(i == 0 && j == 0) {
			board[i, j].Set<Equal>(solver.FromConstant(0));
			ids[i, j] = solver.FromConstant(0);
			continue;
		}
		
		var isBlack = solver.Operation<IsEqual>(board[i, j], solver.FromConstant(0));
		var isLowerCount = solver.FromConstant(0);
		if(i > 0) isLowerCount = isLowerCount.Operation<Addition>(solver.Operation<IsEqual>(board[i-1, j], solver.FromConstant(0)).Operation<Condition>(ids[i,j].Operation<IsGreaterThan>(ids[i-1,j]), solver.FromConstant(0)));
		if(i < width - 1) isLowerCount = isLowerCount.Operation<Addition>(solver.Operation<IsEqual>(board[i+1, j], solver.FromConstant(0)).Operation<Condition>(ids[i,j].Operation<IsGreaterThan>(ids[i+1,j]), solver.FromConstant(0)));
		if(j > 0) isLowerCount = isLowerCount.Operation<Addition>(solver.Operation<IsEqual>(board[i, j-1], solver.FromConstant(0)).Operation<Condition>(ids[i,j].Operation<IsGreaterThan>(ids[i,j-1]), solver.FromConstant(0)));
		if(j < height - 1) isLowerCount = isLowerCount.Operation<Addition>(solver.Operation<IsEqual>(board[i, j+1], solver.FromConstant(0)).Operation<Condition>(ids[i,j].Operation<IsGreaterThan>(ids[i,j+1]), solver.FromConstant(0)));
		
		solver.Set<Equal>(
			solver.FromConstant(1),
			solver.Operation<MaterialImplication>(
				isBlack,
				isLowerCount.Operation<IsEqual>(solver.FromConstant(1))
			)
		);
		
		solver.Set<Equal>(
			solver.Operation<MaterialImplication>(
				isBlack.Operation<BinaryNegation>(),
				ids[i, j].Operation<IsEqual>(solver.FromConstant(0))
			),
			solver.FromConstant(1)
		);
	}
}

var goal = solver.FromConstant(0);
solver.Cplex.Populate();

Dictionary<string, int> solutions = new Dictionary<string, int>();
	
for(int x=0;x<solver.Cplex.GetSolnPoolNsolns();++x){
	string result = "";
	for(int j=0;j<height;++j){
		for(int i=0;i<width;++i){
			result += solver.Cplex.GetValue(((CplexVariable)board[i, j]).Var, x) > 0.5 ? 1 : 0;
		}
		result += "\n";
	}
	
	if(solutions.ContainsKey(result)){
		continue;
	}
	
	solutions[result] = 1;
	Console.WriteLine(result);
}

Let’s go line by line.

First, we start with definitions of variables. We define the board dimensions (lines 1-2), binaries representing the assignment of each field (line 4), and identifiers of the fields (line 5). Then, we initialize all the variables (lines 7-12).

First thing we need to tackle is how to cut the board in two pieces of the same shape. This is much easier than it seems. We can use the point reflection. Basically, we take a field of some coordinates, then find the matching field reflected by the middle of the board, and we make sure that these two fields belong to different pieces. So the sum of their values must be equal to one. This is in lines 14-19.

Next, we want to make sure that there is exactly one yin and one yang in a piece. So we sum values for yins, and make the sum equal to one. Same for yangs. This is in lines 21-23.

From now on we assume that value 0 means black field, and value 1 means white field.

Now, we need to craft the line going through the board. We assume that the top-left field is black. This assumption changes nothing, we could assume it’s white, and everything would work the same way.

Our idea is to assign identifiers to all black fields. Identifiers must increase in a BFS-like fashion. This is the same trick we used in many previous tasks. First step is to assign identifier zero to the top-left field – this is in lines 29-31.

Next, we iterate over all fields. For each field we check if it’s black (line 34), and then calculate how many black fields with lower identifiers are next to the current field (lines 35-39). Next, we need to make sure that if the current field is black, then there must be exactly one black neighbour with a lower identifier. This is in lines 41-47.

Finally, we make sure that white fields have identifier of 0. It doesn’t matter actually, but it’s a good idea to have this kind of hygiene. This is in lines 49-55.

Lastly, we need to remove duplicates. As the solver will find multiple solutions differing in the value of identifiers, we need to exclude them. We could do that by making sure identifiers increase by one, but at the same time we can remove these duplicates in a post-processing step. So we have a dictionary (line 62), and we iterate over all solutions (lines 64-79). For each solution, we first create its text representation (lines 66-70), and then ignore it if it’s a duplicate (lines 72-74). Otherwise, we store it (line 76), and print it (line 78).

Output:

Populate: phase I
Tried aggregator 2 times.
MIP Presolve eliminated 704 rows and 305 columns.
MIP Presolve modified 1340 coefficients.
Aggregator did 743 substitutions.
Reduced MIP has 518 rows, 269 columns, and 1544 nonzeros.
Reduced MIP has 246 binaries, 23 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (3.64 ticks)
Probing fixed 33 vars, tightened 0 bounds.
Probing changed sense of 44 constraints.
Probing time = 0.00 sec. (2.28 ticks)
Tried aggregator 1 time.
MIP Presolve eliminated 197 rows and 115 columns.
MIP Presolve modified 84 coefficients.
Reduced MIP has 321 rows, 154 columns, and 924 nonzeros.
Reduced MIP has 131 binaries, 23 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.00 sec. (0.91 ticks)
Probing changed sense of 8 constraints.
Probing time = 0.00 sec. (0.69 ticks)
Tried aggregator 2 times.
MIP Presolve eliminated 8 rows and 0 columns.
MIP Presolve modified 8 coefficients.
Aggregator did 8 substitutions.
Reduced MIP has 305 rows, 146 columns, and 884 nonzeros.
Reduced MIP has 123 binaries, 23 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (0.69 ticks)
Probing time = 0.00 sec. (0.64 ticks)
Clique table members: 621.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.
Root relaxation solution time = 0.00 sec. (0.48 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0        0.0000    20                      0.0000       43
      0     0        0.0000    37                    Cuts: 58       77
      0     0        0.0000    45                    Cuts: 46      118
      0     2        0.0000    45                      0.0000      118
Elapsed time = 0.11 sec. (40.66 ticks, tree = 0.01 MB, solutions = 0)
*    65+   32                            0.0000        0.0000      861    0.00%

Clique cuts applied:  18
Cover cuts applied:  30
Implied bound cuts applied:  77
Zero-half cuts applied:  11

Root node processing (before b&c):
  Real time             =    0.13 sec. (40.48 ticks)
Parallel b&c, 8 threads:
  Real time             =    0.06 sec. (11.05 ticks)
  Sync time (average)   =    0.04 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.19 sec. (51.52 ticks)

Populate: phase II
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 8 threads.

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

    112    37    infeasible              0.0000        0.0000     1148    0.00%
Elapsed time = 0.20 sec. (51.87 ticks, tree = 0.02 MB, solutions = 1)

Clique cuts applied:  18
Cover cuts applied:  30
Implied bound cuts applied:  77
Zero-half cuts applied:  11

Root node processing (before b&c):
  Real time             =    0.05 sec. (9.66 ticks)
Parallel b&c, 8 threads:
  Real time             =    0.31 sec. (90.74 ticks)
  Sync time (average)   =    0.05 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.36 sec. (100.40 ticks)
001111
011011
001001
000011

001111
000011
001111
000011

001111
001011
001011
000011

001111
011101
010001
000011

]]>
https://blog.adamfurmanek.pl/2022/09/03/ilp-part-95/feed/ 0