Example – IEA Wind 740-10-MW

IEA Wind TCP Task 55: The IEA Wind 740-10-MW Reference Offshore Wind Plants

https://www.osti.gov/biblio/2333634/

This notebook uses optiwindnet to route the collector system cables for the two wind power plants presented in the report above.

[1]:
from optiwindnet.interarraylib import G_from_S, as_normalized
from optiwindnet.importer import L_from_windIO
from optiwindnet.svg import svgplot
from optiwindnet.mesh import make_planar_embedding
from optiwindnet.interface import assign_cables
from optiwindnet.MILP import solver_factory, ModelOptions
from optiwindnet.baselines.hgs import hgs_cvrp

Load layouts from files

[2]:
L_reg = L_from_windIO('data/IEA37_Borssele_Regular_System.yaml')
[3]:
L_irr = L_from_windIO('data/IEA37_Borssele_Irregular_System.yaml')
[4]:
svgplot(L_reg)
[4]:
../_images/notebooks_04-IEA_Wind_740-10-MW_Reference_Offshore_Wind_Plants_7_0.svg
[5]:
L_reg.graph.keys()
[5]:
dict_keys(['T', 'R', 'B', 'VertexC', 'name', 'handle', 'border'])
[6]:
R, T, B, VertexC = (L_reg.graph[key] for key in 'R T B VertexC'.split())
[7]:
R, T, B
[7]:
(1, 74, 6)
[8]:
svgplot(L_irr)
[8]:
../_images/notebooks_04-IEA_Wind_740-10-MW_Reference_Offshore_Wind_Plants_11_0.svg

Additional design parameters

[9]:
cable_costs = [206, 287, 406]  # [€/m] Costs per distance for each cable type
turbines_per_cable = [3, 5, 7]
[10]:
cables = [(capacity, cost) for capacity, cost in zip(turbines_per_cable, cable_costs)]
capacity = max(turbines_per_cable)

Choose the OR-Tools CP-Sat solver

[11]:
solver = solver_factory('ortools.cp_sat')

Regular layout

[12]:
P, A = make_planar_embedding(L_reg)
[13]:
# This meta-heuristic call is iterative and the time_limit applies
# to each iteration. About 97% of instances use a single iteration.
S_warm = hgs_cvrp(as_normalized(A), capacity=capacity, time_limit=1)

Check the total length of the warm-start solution:

[14]:
G_reg_warm = G_from_S(S_warm, A)
G_reg_warm.size(weight='length')
[14]:
139656.47984275874
[15]:
svgplot(A)
[15]:
../_images/notebooks_04-IEA_Wind_740-10-MW_Reference_Offshore_Wind_Plants_22_0.svg
[16]:
svgplot(G_reg_warm)
[16]:
../_images/notebooks_04-IEA_Wind_740-10-MW_Reference_Offshore_Wind_Plants_23_0.svg
[17]:
solver.set_problem(
    P, A,
    capacity=G_reg_warm.graph['capacity'],
    model_options=ModelOptions(
        topology="branched",
        feeder_route="segmented",
        feeder_limit="unlimited",
    ),
    warmstart=S_warm,
)
[18]:
# required to get the log inside the notebook (goes only to console otherwise)
solver.log_callback = print

solver.solve(
    mip_gap=0.005,
    time_limit=5,
    verbose=True,
)
IntegerBoundsPreprocessor                              2374 rows, 1536 columns, 8830 entries with magnitude in [1.000000e+00, 7.000000e+00]
BoundPropagationPreprocessor                           2374 rows, 1536 columns, 8830 entries with magnitude in [1.000000e+00, 7.000000e+00]
ImpliedIntegerPreprocessor                             2374 rows, 1536 columns, 8830 entries with magnitude in [1.000000e+00, 7.000000e+00]
IntegerBoundsPreprocessor                              2374 rows, 1536 columns, 8830 entries with magnitude in [1.000000e+00, 7.000000e+00]
ReduceCostOverExclusiveOrConstraintPreprocessor        2374 rows, 1536 columns, 8830 entries with magnitude in [1.000000e+00, 7.000000e+00]

Scaling to pure integer problem.
Num integers: 1536/1536 (implied: 0 in_inequalities: 0 max_scaling: 0) [IP]
Maximum constraint coefficient relative error: 0
Maximum constraint worst-case activity error: 0
Constraint scaling factor range: [1, 1]

Starting CP-SAT solver v9.15.6755
Parameters: max_time_in_seconds: 5 log_search_progress: true catch_sigint_signal: false relative_gap_limit: 0.005 log_to_stdout: false
Setting number of workers to 16

Initial optimization model 'optiwindnet': (model_fingerprint: 0xed0c3300e80c66ca)
#Variables: 1'536 (#bools: 694 in floating point objective) (1'388 primary variables)
  - 768 Booleans in [0,1]
  - 694 in [0,6]
  - 74 in [0,7]
#kLinear2: 1'883
#kLinear3: 2
#kLinearN: 489 (#terms: 5'058)

Starting presolve at 0.00s
The solution hint is complete and is feasible.
[Scaling] Floating point objective has 694 terms with magnitude in [2.68679e-05, 12860.2] average = 1324.72
[Scaling] Objective coefficient relative error: 0.00889319
[Scaling] Objective worst-case absolute error: 8.61506e-05
[Scaling] Objective scaling factor: 1.04858e+06
  3.68e-04s  0.00e+00d  [DetectDominanceRelations]
  9.24e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=2 #num_dual_strengthening=1
  3.06e-05s  0.00e+00d  [ExtractEncodingFromLinear] #potential_supersets=340
  1.72e-04s  0.00e+00d  [DetectDuplicateColumns]
  1.48e-04s  0.00e+00d  [DetectDuplicateConstraints]
[Symmetry] Graph for symmetry has 5'793 nodes and 11'060 arcs.
[Symmetry] Symmetry computation done. time: 0.000819018 dtime: 0.00135785
[SAT presolve] num removable Booleans: 0 / 768
[SAT presolve] num trivial clauses: 0
[SAT presolve] [0s] clauses:347 literals:694 vars:694 one_side_vars:694 simple_definition:0 singleton_clauses:0
[SAT presolve] [2.8627e-05s] clauses:347 literals:694 vars:694 one_side_vars:694 simple_definition:0 singleton_clauses:0
[SAT presolve] [4.2437e-05s] clauses:347 literals:694 vars:694 one_side_vars:694 simple_definition:0 singleton_clauses:0
  1.39e-04s  0.00e+00d  [DetectDuplicateConstraintsWithDifferentEnforcements]
  1.86e-02s  1.03e-02d  [Probe] #probed=3'072 #new_binary_clauses=768
  3.66e-04s  5.67e-04d  [MaxClique] Merged 613 constraints with 1'918 literals into 303 constraints with 1'298 literals
  3.22e-04s  0.00e+00d  [DetectDominanceRelations]
  3.04e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1
  1.05e-03s  0.00e+00d  [ProcessAtMostOneAndLinear] #num_changes=768
  1.28e-04s  0.00e+00d  [DetectDuplicateConstraints]
  1.22e-04s  0.00e+00d  [DetectDuplicateConstraintsWithDifferentEnforcements]
  1.99e-04s  1.32e-05d  [DetectDominatedLinearConstraints] #relevant_constraints=151 #num_inclusions=75
  1.78e-05s  0.00e+00d  [DetectDifferentVariables]
  2.63e-03s  3.03e-04d  [ProcessSetPPC] #relevant_constraints=379 #num_inclusions=377
  1.55e-04s  0.00e+00d  [TransformClausesToExactlyOne] #num_amos=303
  5.97e-04s  0.00e+00d  [DetectEncodedComplexDomains]
  2.68e-05s  0.00e+00d  [FindAlmostIdenticalLinearConstraints]
  2.62e-04s  2.40e-04d  [FindBigAtMostOneAndLinearOverlap]
  1.69e-04s  2.83e-04d  [FindBigVerticalLinearOverlap]
  2.41e-05s  1.15e-05d  [FindBigHorizontalLinearOverlap] #linears=148
  1.25e-05s  0.00e+00d  [MergeClauses]
  3.29e-04s  0.00e+00d  [DetectDominanceRelations]
  4.54e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=2 #num_dual_strengthening=1
  2.91e-04s  0.00e+00d  [DetectDominanceRelations]
  3.10e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1
  8.16e-05s  0.00e+00d  [DetectDuplicateColumns]
  1.28e-04s  0.00e+00d  [DetectDuplicateConstraints]
[Symmetry] Graph for symmetry has 5'168 nodes and 9'048 arcs.
[Symmetry] Symmetry computation done. time: 0.000569614 dtime: 0.00121763
[SAT presolve] num removable Booleans: 0 / 768
[SAT presolve] num trivial clauses: 0
[SAT presolve] [0s] clauses:37 literals:74 vars:74 one_side_vars:74 simple_definition:0 singleton_clauses:0
[SAT presolve] [2.838e-05s] clauses:37 literals:74 vars:74 one_side_vars:74 simple_definition:0 singleton_clauses:0
[SAT presolve] [5.2736e-05s] clauses:37 literals:74 vars:74 one_side_vars:74 simple_definition:0 singleton_clauses:0
  1.81e-04s  0.00e+00d  [DetectDuplicateConstraintsWithDifferentEnforcements]
  1.12e-02s  3.41e-03d  [Probe] #probed=1'536
  2.91e-04s  3.83e-04d  [MaxClique]
  3.26e-04s  0.00e+00d  [DetectDominanceRelations]
  4.13e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1
  4.96e-04s  0.00e+00d  [ProcessAtMostOneAndLinear]
  6.99e-04s  0.00e+00d  [DetectDuplicateConstraints]
  1.55e-04s  0.00e+00d  [DetectDuplicateConstraintsWithDifferentEnforcements]
  1.74e-04s  9.95e-06d  [DetectDominatedLinearConstraints] #relevant_constraints=150 #num_inclusions=74
  1.95e-05s  0.00e+00d  [DetectDifferentVariables]
  1.48e-04s  6.96e-06d  [ProcessSetPPC] #relevant_constraints=378
  1.30e-04s  0.00e+00d  [TransformClausesToExactlyOne] #num_amos=303
  4.82e-04s  0.00e+00d  [DetectEncodedComplexDomains]
  2.32e-05s  0.00e+00d  [FindAlmostIdenticalLinearConstraints]
  2.50e-04s  2.37e-04d  [FindBigAtMostOneAndLinearOverlap]
  1.77e-04s  2.83e-04d  [FindBigVerticalLinearOverlap]
  2.08e-05s  1.15e-05d  [FindBigHorizontalLinearOverlap] #linears=148
  1.02e-05s  0.00e+00d  [MergeClauses]
  3.19e-04s  0.00e+00d  [DetectDominanceRelations]
  3.56e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1
  4.32e-06s  0.00e+00d  [MergeNoOverlap]
  4.86e-06s  0.00e+00d  [MergeNoOverlap2D]
  2.26e-04s  0.00e+00d  [ExpandObjective] #entries=7'628 #tight_variables=768 #tight_constraints=74

Presolve summary:
  - 0 affine relations were detected.
  - rule 'TODO linear inclusion: superset is equality' was applied 149 times.
  - rule 'TODO linear2: convert ax + by != cte to clauses for large domains' was applied 4'608 times.
  - rule 'at_most_one: transformed into max clique' was applied 1 time.
  - rule 'bool_or: implications' was applied 347 times.
  - rule 'deductions: 1536 stored' was applied 1 time.
  - rule 'linear + amo: extracted enforcement literal' was applied 768 times.
  - rule 'linear2: contains a boolean' was applied 768 times.
  - rule 'linear2: convert ax + by != cte to clauses' was applied 347 times.
  - rule 'linear: positive at most one' was applied 266 times.
  - rule 'linear: positive equal one' was applied 74 times.
  - rule 'objective: shifted cost with exactly ones' was applied 74 times.
  - rule 'presolve: 0 unused variables removed.' was applied 1 time.
  - rule 'presolve: iteration' was applied 2 times.
  - rule 'setppc: exactly_one included in linear' was applied 74 times.
  - rule 'setppc: reduced linear coefficients' was applied 73 times.
  - rule 'setppc: removed trivial linear constraint' was applied 1 time.
  - rule 'variables: detect fully reified value encoding' was applied 768 times.
  - rule 'variables: detect half reified value encoding' was applied 1'536 times.

Presolved optimization model 'optiwindnet': (model_fingerprint: 0xf838d88221aca131)
#Variables: 1'536 (#bools: 694 in objective) (1'388 primary variables)
  - 768 Booleans in [0,1]
  - 694 in [0,6]
  - 74 in [0,7]
#kAtMostOne: 266 (#literals: 1'224)
#kBoolAnd: 37 (#enforced: 37) (#literals: 74)
#kExactlyOne: 74 (#literals: 768)
#kLinear1: 1'536 (#enforced: 1'536)
#kLinear3: 2
#kLinearN: 148 (#terms: 2'298)
[Symmetry] Graph for symmetry has 5'168 nodes and 9'048 arcs.
[Symmetry] Symmetry computation done. time: 0.000536646 dtime: 0.00121072

Preloading model.
#Bound   0.08s best:inf   next:[123610.947,1028471.61] initial_domain
#1       0.08s best:139656.48 next:[123610.947,139656.48] complete_hint
#Model   0.08s var:1536/1536 constraints:2063/2063

Starting search at 0.08s with 16 workers.
11 full problem subsolvers: [core, default_lp, lb_tree_search, max_lp, no_lp, objective_lb_search, probing, pseudo_costs, quick_restart, quick_restart_no_lp, reduced_costs]
5 first solution subsolvers: [fj(2), fs_random, fs_random_no_lp, fs_random_quick_restart_no_lp]
11 interleaved subsolvers: [feasibility_pump, graph_arc_lns, graph_cst_lns, graph_dec_lns, graph_var_lns, lb_relax_lns, ls, ls_lin, rins/rens, rnd_cst_lns, rnd_var_lns]
3 helper subsolvers: [neighborhood_helper, synchronization_agent, update_gap_integral]

#2       0.10s best:139650.832 next:[123610.947,139650.832] graph_cst_lns (d=5.00e-01 s=15 t=0.10 p=0.00 stall=0 h=base)
#Bound   0.11s best:139650.832 next:[123610.951,139650.832] am1_presolve (num_literals=694 num_am1=20 increase=4452 work_done=2551)
#Bound   0.11s best:139650.832 next:[131572.565,139650.832] quick_restart
#Bound   0.12s best:139650.832 next:[131572.567,139650.832] default_lp
#Bound   0.12s best:139650.832 next:[131572.568,139650.832] reduced_costs
#Model   0.13s var:1528/1536 constraints:2055/2063
#Bound   0.16s best:139650.832 next:[135687.687,139650.832] max_lp
#Bound   0.27s best:139650.832 next:[135856.984,139650.832] lb_tree_search
#Bound   0.29s best:139650.832 next:[135925.114,139650.832] lb_tree_search
#Bound   0.30s best:139650.832 next:[135926.23,139650.832] lb_tree_search
#Model   0.30s var:1526/1536 constraints:2053/2063
#Bound   0.32s best:139650.832 next:[135928.998,139650.832] max_lp
#Bound   0.34s best:139650.832 next:[135929.655,139650.832] max_lp
#Model   0.34s var:1484/1536 constraints:2009/2063
#3       0.75s best:139645.183 next:[135929.655,139645.183] quick_restart_no_lp (fixed_bools=28/824)
#Bound   0.80s best:139645.183 next:[136049.036,139645.183] lb_tree_search
#Bound   0.84s best:139645.183 next:[136111.715,139645.183] quick_restart
#Model   0.92s var:1482/1536 constraints:2007/2063
#Bound   0.94s best:139645.183 next:[136160.977,139645.183] quick_restart
#Model   0.95s var:1476/1536 constraints:2001/2063
#Bound   1.07s best:139645.183 next:[136210.817,139645.183] lb_tree_search
#Bound   1.15s best:139645.183 next:[136214.754,139645.183] lb_tree_search (nodes=3/3 rc=0 decisions=20 @root=4 restarts=0 lp_iters=[0, 0, 353, 204])
#4       1.18s best:139645.183 next:[136214.754,139645.183] graph_arc_lns (d=8.14e-01 s=36 t=0.10 p=1.00 stall=2 h=base) [combined with: quick_restart_no_lp...]
#Bound   1.19s best:139645.183 next:[136214.755,139645.183] lb_tree_search (nodes=3/3 rc=0 decisions=22 @root=4 restarts=0 lp_iters=[0, 0, 606, 204])
#Bound   1.23s best:139645.183 next:[136247.407,139645.183] lb_tree_search (nodes=3/3 rc=0 decisions=23 @root=4 restarts=0 lp_iters=[0, 0, 717, 204])
#Bound   1.26s best:139645.183 next:[136260.272,139645.183] lb_tree_search (nodes=3/3 rc=0 decisions=24 @root=4 restarts=0 lp_iters=[0, 0, 847, 204])
#Bound   1.29s best:139645.183 next:[136262.366,139645.183] lb_tree_search (nodes=3/3 rc=0 decisions=25 @root=4 restarts=0 lp_iters=[0, 0, 876, 204])
#Bound   1.30s best:139645.183 next:[136262.366,139645.183] lb_tree_search (nodes=3/3 rc=0 decisions=26 @root=4 restarts=0 lp_iters=[0, 0, 884, 204])
#Bound   1.32s best:139645.183 next:[136262.366,139645.183] lb_tree_search (nodes=3/3 rc=0 decisions=27 @root=4 restarts=0 lp_iters=[0, 0, 885, 204])
#Model   1.79s var:1474/1536 constraints:1999/2063
#Bound   1.94s best:139645.183 next:[136556.651,139645.183] lb_tree_search (nodes=12/12 rc=4 decisions=72 @root=4 restarts=0 lp_iters=[0, 0, 3'288, 544])  [skipped_logs=16]
#Model   2.86s var:1472/1536 constraints:1997/2063
#Bound   2.55s best:139645.183 next:[136580.124,139645.183] lb_tree_search (nodes=12/12 rc=4 decisions=73 @root=5 restarts=0 lp_iters=[0, 0, 3'402, 544])  [skipped_logs=0]
#Model   3.46s var:1470/1536 constraints:1994/2063
#Bound   3.96s best:139645.183 next:[136652.175,139645.183] lb_tree_search (nodes=12/12 rc=4 decisions=88 @root=7 restarts=0 lp_iters=[0, 0, 5'343, 915])  [skipped_logs=6]
#Bound   4.96s best:139645.183 next:[136720.342,139645.183] lb_tree_search (nodes=22/22 rc=10 decisions=152 @root=7 restarts=0 lp_iters=[0, 0, 8'328, 1'435])  [skipped_logs=10]

Task timing                                n [     min,      max]      avg      dev     time         n [     min,      max]      avg      dev    dtime
                           'core':         1 [   4.92s,    4.92s]    4.92s   0.00ns    4.92s         2 [  3.51ms,    2.67s]    1.34s    1.33s    2.67s
                     'default_lp':         1 [   4.93s,    4.93s]    4.93s   0.00ns    4.93s         2 [ 95.04ms,    1.51s] 803.03ms 707.99ms    1.61s
               'feasibility_pump':        22 [ 73.82us,  83.03ms]   6.10ms  16.84ms 134.20ms        20 [318.71us,  50.34ms]   2.84ms  10.90ms  56.74ms
                             'fj':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
                             'fj':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
                      'fs_random':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
                'fs_random_no_lp':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
  'fs_random_quick_restart_no_lp':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
                  'graph_arc_lns':         7 [ 40.00ms, 641.90ms] 335.01ms 219.28ms    2.35s         7 [  2.09ms, 100.08ms]  63.68ms  42.57ms 445.74ms
                  'graph_cst_lns':         9 [ 21.35ms, 460.41ms] 240.55ms 174.44ms    2.16s         8 [ 87.90us, 100.09ms]  56.42ms  40.54ms 451.36ms
                  'graph_dec_lns':        11 [  5.27ms, 498.36ms] 203.36ms 175.34ms    2.24s        11 [ 10.00ns, 100.09ms]  38.51ms  40.27ms 423.65ms
                  'graph_var_lns':         8 [  9.90ms, 518.35ms] 271.35ms 197.11ms    2.17s         8 [520.00ns, 100.06ms]  57.42ms  45.48ms 459.33ms
                   'lb_relax_lns':         2 [905.74ms,    2.09s]    1.50s 592.47ms    3.00s         2 [209.60ms, 547.02ms] 378.31ms 168.71ms 756.62ms
                 'lb_tree_search':         1 [   4.92s,    4.92s]    4.92s   0.00ns    4.92s         2 [147.35ms,    2.25s]    1.20s    1.05s    2.39s
                             'ls':        12 [174.40ms, 221.26ms] 191.60ms  12.22ms    2.30s        12 [100.01ms, 100.02ms] 100.01ms   4.66us    1.20s
                         'ls_lin':        12 [168.05ms, 235.65ms] 190.04ms  19.35ms    2.28s        12 [ 85.64ms, 100.02ms]  98.82ms   3.97ms    1.19s
                         'max_lp':         1 [   4.92s,    4.92s]    4.92s   0.00ns    4.92s         2 [165.69ms,    1.71s] 938.26ms 772.56ms    1.88s
                          'no_lp':         1 [   4.93s,    4.93s]    4.93s   0.00ns    4.93s         2 [  4.06ms,    1.44s] 723.21ms 719.15ms    1.45s
            'objective_lb_search':         1 [   4.92s,    4.92s]    4.92s   0.00ns    4.92s         2 [ 86.59ms,    1.69s] 890.33ms 803.74ms    1.78s
                        'probing':         1 [   4.92s,    4.92s]    4.92s   0.00ns    4.92s         2 [ 93.48ms,    1.36s] 726.35ms 632.87ms    1.45s
                   'pseudo_costs':         1 [   4.92s,    4.92s]    4.92s   0.00ns    4.92s         2 [ 37.91ms,    2.07s]    1.06s    1.02s    2.11s
                  'quick_restart':         1 [   4.93s,    4.93s]    4.93s   0.00ns    4.93s         2 [ 97.34ms,    1.58s] 839.02ms 741.68ms    1.68s
            'quick_restart_no_lp':         1 [   4.92s,    4.92s]    4.92s   0.00ns    4.92s         2 [  4.06ms,    1.95s] 975.39ms 971.33ms    1.95s
                  'reduced_costs':         1 [   4.92s,    4.92s]    4.92s   0.00ns    4.92s         2 [ 38.72ms,    1.86s] 950.51ms 911.79ms    1.90s
                      'rins/rens':         8 [  4.39ms, 629.78ms] 290.79ms 251.97ms    2.33s         7 [717.82us, 100.08ms]  58.94ms  47.50ms 412.55ms
                    'rnd_cst_lns':        15 [ 11.02ms, 460.22ms] 208.39ms 169.62ms    3.13s        15 [ 33.00ns, 100.18ms]  44.17ms  43.68ms 662.49ms
                    'rnd_var_lns':        10 [ 10.62ms, 496.80ms] 239.36ms 186.67ms    2.39s        10 [ 41.00ns, 100.05ms]  50.23ms  44.53ms 502.32ms

Search stats                        Bools  Conflicts  Branches  Restarts  BacktrackToRoot  Backtrack  BoolPropag  IntegerPropag
                           'core':    788     76'037   171'232        98            6'013     82'071   1'270'644      3'499'310
                     'default_lp':    810        278    11'609         3            6'023      6'866      69'804        321'867
                      'fs_random':      0          0         0         0                0          0           0              0
                'fs_random_no_lp':      0          0         0         0                0          0           0              0
  'fs_random_quick_restart_no_lp':      0          0         0         0                0          0           0              0
                 'lb_tree_search':    768          0    10'430         0            6'113      6'475      50'125        214'140
                         'max_lp':    768        188     8'180         2            4'561      4'970      48'377        229'259
                          'no_lp':    768     24'430    62'918        42           15'376     40'356   2'727'697      9'156'979
            'objective_lb_search':    797        394    10'919         2            5'982      6'886      64'783        310'031
                        'probing':    789         10     1'786         0            1'622      1'632      13'856         46'749
                   'pseudo_costs':    768        349     8'229         2            4'608      5'136      67'473        298'060
                  'quick_restart':    792         69    13'866         5            7'597      8'258      68'924        340'947
            'quick_restart_no_lp':    900     18'163   285'813     1'561           14'198     35'067   1'764'665      6'639'472
                  'reduced_costs':    801        359    19'560         5            9'002     10'191      91'247        464'966

SAT formula                         Fixed  Equiv  Total  VarLeft  BinaryClauses  PermanentClauses  TemporaryClauses
                           'core':     32      0    788      756            206               542            10'552
                     'default_lp':     34      0    810      776            556                78               237
                      'fs_random':      0      0      0        0              0                 0                 0
                'fs_random_no_lp':      0      0      0        0              0                 0                 0
  'fs_random_quick_restart_no_lp':      0      0      0        0              0                 0                 0
                 'lb_tree_search':     33      0    768      735            220                74                 0
                         'max_lp':     33      0    768      735            220                74               175
                          'no_lp':     33      0    768      735            392                76             6'173
            'objective_lb_search':     37      0    797      760            450                82                73
                        'probing':     27      0    789      762          1'356                74                 9
                   'pseudo_costs':     30      0    768      738            152                74               315
                  'quick_restart':     33      0    792      759            478                95                51
            'quick_restart_no_lp':     46      0    900      854          1'464               224             7'935
                  'reduced_costs':     33      0    801      768            518                74               311

SAT stats                           ClassicMinim  LitRemoved  LitRemovedBinary  LitLearned  LitForgotten  Subsumed
                           'core':        68'218     651'730           468'373   5'037'589     2'303'724    25'422
                     'default_lp':           202       2'651            11'086      20'525             0        34
                      'fs_random':             0           0                 0           0             0         0
                'fs_random_no_lp':             0           0                 0           0             0         0
  'fs_random_quick_restart_no_lp':             0           0                 0           0             0         0
                 'lb_tree_search':             0           0                 0           0             0         0
                         'max_lp':           157       4'135             5'770      22'539             0        13
                          'no_lp':        23'700   1'144'139            33'569   1'369'717       264'895    12'823
            'objective_lb_search':           365      29'085             5'332       8'115             0       131
                        'probing':             8         325               715       2'429             0         1
                   'pseudo_costs':           218       1'962            11'354      28'361             0        33
                  'quick_restart':            53       2'058             2'074       5'828             0        12
            'quick_restart_no_lp':        15'816     350'801           283'126   1'341'191       297'615     5'933
                  'reduced_costs':           300       7'112             9'812      72'928             0        44

Vivification                        Clauses  Decisions  LitTrue  Subsumed  LitRemoved  DecisionReused  Conflicts
                           'core':    2'077     17'650        0       242       3'213           2'720         29
                     'default_lp':      463      4'087        0         3          13              18          0
                      'fs_random':        0          0        0         0           0               0          0
                'fs_random_no_lp':        0          0        0         0           0               0          0
  'fs_random_quick_restart_no_lp':        0          0        0         0           0               0          0
                 'lb_tree_search':      445      3'988        0         0           0               0          0
                         'max_lp':      297      2'650        0         0           0               0          0
                          'no_lp':    1'386     12'456        0         1           9              14          0
            'objective_lb_search':      459      4'090        0         0           3              18          0
                        'probing':        0          0        0         0           0               0          0
                   'pseudo_costs':      297      2'658        0         0           0               0          0
                  'quick_restart':      644      5'409        0         0           1              43          0
            'quick_restart_no_lp':    2'748     19'907        1       105       1'184             940         33
                  'reduced_costs':      741      6'638        0         0           0               0          0

Clause deletion                     at_true  l_and_not(l)  to_binary  sub_conflict  sub_extra  sub_decisions  sub_eager  sub_vivify  sub_probing  sub_inpro  blocked  eliminated  forgotten  promoted  conflicts
                           'core':       59            21          3        24'752        589             14        670         242            3        250        0           0     38'356   180'168     76'037
                     'default_lp':        0             0          0            32          0              0          2           3            0          0        0           0          0       529        278
                      'fs_random':        0             0          0             0          0              0          0           0            0          0        0           0          0         0          0
                'fs_random_no_lp':        0             0          0             0          0              0          0           0            0          0        0           0          0         0          0
  'fs_random_quick_restart_no_lp':        0             0          0             0          0              0          0           0            0          0        0           0          0         0          0
                 'lb_tree_search':        0             0          0             0          0              0          0           0            0          0        0           0          0         0          0
                         'max_lp':        0             0          0            12          0              0          1           0            0          0        0           0          0       395        188
                          'no_lp':        0             3          0        12'441         36            347        382           1            0         19        0           0      5'022    60'227     24'430
            'objective_lb_search':      158             0          1           123          0             14          8           0            0          0        0           0          0       686        394
                        'probing':        0             0          0             0          0              0          1           0            0          0        0           0          0        15         10
                   'pseudo_costs':        0             0          0            29          1              0          4           0            0          0        0           0          0       791        349
                  'quick_restart':        0             0          0             9          0              0          3           0            0          0        0           0          0       113         69
            'quick_restart_no_lp':      168             2          1         5'646         42             15        287         105           27        179        0           0      3'322    38'929     18'163
                  'reduced_costs':        0             0          0            43          4              0          1           0            0          0        0           0          0       948        359

Lp stats                  Component  Iterations  AddedCuts  OPTIMAL  DUAL_F.  DUAL_U.
           'default_lp':          1      26'824      1'943    1'307        1       60
       'lb_tree_search':          1      14'268      1'131      227       35        0
               'max_lp':          1      19'897      1'149      752       54       57
  'objective_lb_search':          1      35'540      1'770    1'414        0       38
              'probing':          1      10'399      2'707      271        0        0
         'pseudo_costs':          1      43'716      1'164      938      289      116
        'quick_restart':          1      20'083      2'042      648        0       20
        'reduced_costs':          1      27'115      1'991      780      134       82

Lp dimension                  Final dimension of first component
           'default_lp':   1095 rows, 1462 columns, 9384 entries
       'lb_tree_search':  3154 rows, 1536 columns, 26177 entries
               'max_lp':  1161 rows, 1536 columns, 11898 entries
  'objective_lb_search':    766 rows, 1462 columns, 5651 entries
              'probing':  2103 rows, 1462 columns, 34793 entries
         'pseudo_costs':    953 rows, 1536 columns, 5493 entries
        'quick_restart':  1460 rows, 1462 columns, 16836 entries
        'reduced_costs':  1225 rows, 1536 columns, 13358 entries

Lp debug                  CutPropag  CutEqPropag  Adjust  Overflow     Bad  BadScaling
           'default_lp':          0            0   1'350         0   3'510           0
       'lb_tree_search':          0            0     262         0  12'656           0
               'max_lp':          0            0     862         0   6'856           0
  'objective_lb_search':          0            0   1'435         0   2'783           0
              'probing':          0            2     257         0  17'555           0
         'pseudo_costs':          0            0   1'330         0   1'251           0
        'quick_restart':          0            0     645         0   7'735           0
        'reduced_costs':          0            0     990         0   7'120           0

Lp pool                   Constraints  Updates  Simplif  Merged  Shortened  Split  Strengthened    Cuts/Call
           'default_lp':        4'515       23    1'044       0        633      3            45  1'943/3'865
       'lb_tree_search':        3'962      159    1'453       0        991    105            24  1'131/2'359
               'max_lp':        3'980       77      888       0        670     36            25  1'149/2'225
  'objective_lb_search':        4'342       17      805       0        449      4            28  1'770/3'460
              'probing':        5'279      189    2'061       0        330    208            81  2'707/5'139
         'pseudo_costs':        3'995        0      358       0        185      0            18  1'164/2'145
        'quick_restart':        4'614       78    1'374       0        618     31            58  2'042/3'849
        'reduced_costs':        4'822       89    1'103       0        512     49            40  1'991/3'592

Lp Cut            reduced_costs  pseudo_costs  default_lp  max_lp  quick_restart  lb_tree_search  probing  objective_lb_search
          CG_FF:             18             3          14       3             10               2       19                   14
           CG_K:              4             3           8       -              6               2       12                   14
          CG_KL:              1             -           2       -              1               -        3                    -
           CG_R:             25             5          10       7             14               6       22                   22
          CG_RB:             55            15          39      32             42              33       65                   42
         CG_RBP:             12             5          14       4             18               8       25                   20
             IB:            797           814         879     205            727               6      660                  758
       MIR_1_FF:             59             3          58      37             91              41      133                   54
        MIR_1_K:              4             -          21       7             22               -       35                   24
       MIR_1_KL:              2             -          10       1             12               -       14                    3
        MIR_1_R:              -             -           -       -              2               3        3                    1
       MIR_1_RB:             30             6          38      22             40              26       63                   38
      MIR_1_RBP:              3             -          32       8             42               6       82                   17
       MIR_2_FF:             64            15          64      62             73              63      118                   66
        MIR_2_K:              8             -          52       5             54               3       54                   48
       MIR_2_KL:              1             -          15       -             14               -       16                    6
        MIR_2_R:              4             1           5       3              6               5        8                    6
       MIR_2_RB:             92            19          64      63             82              78       99                   60
      MIR_2_RBP:             11             1          42      17             56              12       73                   33
       MIR_3_FF:             61            24          44      58             43              67       77                   37
        MIR_3_K:             12             3          25      12             40               7       76                   25
       MIR_3_KL:              1             1           6       1              5               1        8                    3
        MIR_3_R:             11             2           2       5              1               6        4                    5
       MIR_3_RB:             92            38          30      61             55              68       69                   36
      MIR_3_RBP:             11             9          19      14             40               9       72                   16
       MIR_4_FF:             50            18          26      37             37              60       48                   18
        MIR_4_K:             23             5          30      13             48              21       67                   24
       MIR_4_KL:              5             1          10       3              6               1        6                    2
        MIR_4_R:              3             3           1       7              5               6        8                    2
       MIR_4_RB:             46            15          25      35             40              58       34                   25
      MIR_4_RBP:             15             3          17      15             45              19       60                   17
       MIR_5_FF:             31            13          18      43             24              45       43                   23
        MIR_5_K:             20            10          22      18             23              22       49                   26
       MIR_5_KL:             10             3           2       5              7               3        7                    5
        MIR_5_R:              5             -           3       8              3               9        2                    2
       MIR_5_RB:             33             7          18      33             19              29       29                   29
      MIR_5_RBP:             14            10          19      18             32              26       61                   27
       MIR_6_FF:             15             7          10      24             16              32       17                   12
        MIR_6_K:             14             6          19      22             20              30       27                   10
       MIR_6_KL:              9             -           5       5              7               8       11                    3
        MIR_6_R:              -             -           -       5              -               4        -                    -
       MIR_6_RB:             19             6          15      15              8              28       12                   13
      MIR_6_RBP:             18             6          20      17             23              31       59                   14
   ZERO_HALF_FF:             23            10          30      20             20              11       21                   30
    ZERO_HALF_K:              -             1           5       4              8               -       10                   16
   ZERO_HALF_KL:              -             -           1       1              1               -        -                    3
    ZERO_HALF_R:            210            62         126     150            132             201      290                  100
   ZERO_HALF_RB:             34            10          21      20             14              28       26                   14
  ZERO_HALF_RBP:             16             1           7       4              8               7       10                    7

LNS stats           Improv/Calls  Closed  Difficulty  TimeLimit
  'graph_arc_lns':           1/7     43%    4.94e-01       0.10
  'graph_cst_lns':           1/8     62%    8.27e-01       0.10
  'graph_dec_lns':          1/11     64%    8.73e-01       0.10
  'graph_var_lns':           1/8     50%    6.11e-01       0.10
   'lb_relax_lns':           1/2     50%    5.38e-01       0.50
      'rins/rens':           5/8     50%    7.00e-01       0.10
    'rnd_cst_lns':          1/15     60%    8.62e-01       0.10
    'rnd_var_lns':          0/10     70%    8.97e-01       0.10

LS stats                                    Batches  Restarts/Perturbs  LinMoves  GenMoves  CompoundMoves  Bactracks  WeightUpdates  ScoreComputed
                         'ls_lin_restart':        1                  1    12'257         0              0          0          2'335        390'248
                'ls_lin_restart_compound':        3                  3         0    45'195          4'677     20'256            262      1'147'292
        'ls_lin_restart_compound_perturb':        1                  1         0    15'940          1'050      7'443            191        411'072
                   'ls_lin_restart_decay':        2                  2    29'464         0              0          0            610        595'259
          'ls_lin_restart_decay_compound':        1                  1         0    12'459          1'978      5'239             30        350'570
  'ls_lin_restart_decay_compound_perturb':        2                  2         0    24'794          4'564     10'112             63        641'090
           'ls_lin_restart_decay_perturb':        1                  1    14'524         0              0          0            299        292'712
                 'ls_lin_restart_perturb':        1                  1    11'454         0              0          0          2'077        331'339
                             'ls_restart':        1                  1    12'115         0              0          0          2'534        336'327
                    'ls_restart_compound':        2                  2         0    31'559          2'864     14'346            153        778'926
                       'ls_restart_decay':        4                  4    58'895         0              0          0          1'263      1'210'336
              'ls_restart_decay_compound':        1                  1         0    14'136          2'323      5'906             54        361'529
      'ls_restart_decay_compound_perturb':        2                  2         0    26'777          4'056     11'360             80        697'315
               'ls_restart_decay_perturb':        1                  1    14'677         0              0          0            310        299'847
                     'ls_restart_perturb':        1                  1    12'629         0              0          0          2'396        372'437

Solutions (4)             Num   Rank
        'complete_hint':    2  [0,1]
        'graph_arc_lns':    2  [3,4]
        'graph_cst_lns':    2  [1,2]
  'quick_restart_no_lp':    2  [2,3]

Objective bounds     Num
    'am1_presolve':    1
      'default_lp':    1
  'initial_domain':    1
  'lb_tree_search':   48
          'max_lp':    3
   'quick_restart':    3
   'reduced_costs':    1

Solution repositories    Added  Queried  Synchro
    'alternative_path':      1        0        1
      'best_solutions':     10       99        7
   'fj solution hints':      0        0        0
        'lp solutions':     59        8       38
                'pump':      0        0

Improving bounds shared    Num  Sym
        'lb_tree_search':    2    0
                'max_lp':   44    0
         'quick_restart':   18    0
   'quick_restart_no_lp':   15    0

Clauses shared            #Exported  #Imported  #BinaryRead  #BinaryTotal
                 'core':         28          0          331           475
           'default_lp':          0          0          419           475
       'lb_tree_search':          0          0          375           475
               'max_lp':          0          0          375           475
                'no_lp':          0         15          475           475
  'objective_lb_search':          0          0          375           475
              'probing':        173          0          288           475
         'pseudo_costs':          0          0          321           475
        'quick_restart':          0         15          475           475
  'quick_restart_no_lp':        289         15          475           475
        'reduced_costs':          0          0          419           475

LRAT_status: NA
[Scaling] scaled_objective_bound: 136720 corrected_bound: 136720 delta: -1.22873e-06
CpSolverResponse summary:
status: FEASIBLE
objective: 139645.1826536399
best_bound: 136720.3419201605
integers: 0
booleans: 0
conflicts: 0
branches: 0
propagations: 0
integer_propagations: 0
restarts: 0
lp_iterations: 0
walltime: 5.01937
usertime: 5.01937
deterministic_time: 27.4402
gap_integral: 219.565
solution_fingerprint: 0x6aa24a4cea96b19f

[18]:
SolutionInfo(runtime=5.024661, bound=136720.34192016048, objective=139645.18265363993, relgap=0.020944802233055837, termination='FEASIBLE')
[19]:
S_reg, G_reg = solver.get_solution()
[20]:
assign_cables(G_reg, cables)
G_reg.size(weight='cost')
[20]:
40714260.58298516
[21]:
svgplot(G_reg)
[21]:
../_images/notebooks_04-IEA_Wind_740-10-MW_Reference_Offshore_Wind_Plants_28_0.svg

Irregular layout

[22]:
P, A = make_planar_embedding(L_irr)
[23]:
# This meta-heuristic call is iterative and the time_limit applies
# to each iteration. About 97% of instances use a single iteration.
S_warm = hgs_cvrp(as_normalized(A), capacity=capacity, time_limit=3)

Check the total length of the warm-start solution:

[24]:
G_irr_warm = G_from_S(S_warm, A)
G_irr_warm.size(weight='length')
[24]:
136451.2768186806
[25]:
solver.set_problem(
    P, A,
    capacity=G_irr_warm.graph['capacity'],
    model_options=ModelOptions(
        topology="branched",
        feeder_route="segmented",
        feeder_limit="unlimited",
    ),
    warmstart=S_warm,
)
[26]:
# required to get the log inside the notebook (goes only to console otherwise)
solver.log_callback = print

solver.solve(
    mip_gap=0.005,
    time_limit=300,
    verbose=True,
)
IntegerBoundsPreprocessor                              1836 rows, 1192 columns, 6580 entries with magnitude in [1.000000e+00, 7.000000e+00]
BoundPropagationPreprocessor                           1836 rows, 1192 columns, 6580 entries with magnitude in [1.000000e+00, 7.000000e+00]
ImpliedIntegerPreprocessor                             1836 rows, 1192 columns, 6580 entries with magnitude in [1.000000e+00, 7.000000e+00]
IntegerBoundsPreprocessor                              1836 rows, 1192 columns, 6580 entries with magnitude in [1.000000e+00, 7.000000e+00]
ReduceCostOverExclusiveOrConstraintPreprocessor        1836 rows, 1192 columns, 6580 entries with magnitude in [1.000000e+00, 7.000000e+00]

Scaling to pure integer problem.
Num integers: 1192/1192 (implied: 0 in_inequalities: 0 max_scaling: 0) [IP]
Maximum constraint coefficient relative error: 0
Maximum constraint worst-case activity error: 0
Constraint scaling factor range: [1, 1]

Starting CP-SAT solver v9.15.6755
Parameters: max_time_in_seconds: 300 log_search_progress: true catch_sigint_signal: false relative_gap_limit: 0.005 log_to_stdout: false
Setting number of workers to 16

Initial optimization model 'optiwindnet': (model_fingerprint: 0xdf0b125fec3ce89e)
#Variables: 1'192 (#bools: 522 in floating point objective) (1'044 primary variables)
  - 596 Booleans in [0,1]
  - 522 in [0,6]
  - 74 in [0,7]
#kLinear2: 1'457
#kLinear3: 5
#kLinearN: 374 (#terms: 3'651)

Starting presolve at 0.00s
The solution hint is complete and is feasible.
[Scaling] Floating point objective has 522 terms with magnitude in [0.59325, 14141.5] average = 2338.54
[Scaling] Objective coefficient relative error: 3.6523e-07
[Scaling] Objective worst-case absolute error: 6.72685e-05
[Scaling] Objective scaling factor: 1.04858e+06
  3.26e-04s  0.00e+00d  [DetectDominanceRelations]
  6.81e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=2 #num_dual_strengthening=1
  1.96e-05s  0.00e+00d  [ExtractEncodingFromLinear] #potential_supersets=232
  8.33e-05s  0.00e+00d  [DetectDuplicateColumns]
  1.27e-04s  0.00e+00d  [DetectDuplicateConstraints]
[Symmetry] Graph for symmetry has 4'481 nodes and 8'294 arcs.
[Symmetry] Symmetry computation done. time: 0.000341264 dtime: 0.00081108
[SAT presolve] num removable Booleans: 0 / 596
[SAT presolve] num trivial clauses: 0
[SAT presolve] [0s] clauses:261 literals:522 vars:522 one_side_vars:522 simple_definition:0 singleton_clauses:0
[SAT presolve] [2.7322e-05s] clauses:261 literals:522 vars:522 one_side_vars:522 simple_definition:0 singleton_clauses:0
[SAT presolve] [4.1039e-05s] clauses:261 literals:522 vars:522 one_side_vars:522 simple_definition:0 singleton_clauses:0
  1.28e-04s  0.00e+00d  [DetectDuplicateConstraintsWithDifferentEnforcements]
  1.12e-02s  6.52e-03d  [Probe] #probed=2'384 #new_binary_clauses=596
  2.56e-04s  3.24e-04d  [MaxClique] Merged 419 constraints with 1'216 literals into 234 constraints with 846 literals
  2.86e-04s  0.00e+00d  [DetectDominanceRelations]
  3.54e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1
  9.91e-04s  0.00e+00d  [ProcessAtMostOneAndLinear] #num_changes=596
  1.33e-04s  0.00e+00d  [DetectDuplicateConstraints]
  9.99e-05s  0.00e+00d  [DetectDuplicateConstraintsWithDifferentEnforcements]
  1.89e-04s  1.03e-05d  [DetectDominatedLinearConstraints] #relevant_constraints=151 #num_inclusions=75
  1.73e-05s  0.00e+00d  [DetectDifferentVariables]
  1.88e-03s  1.93e-04d  [ProcessSetPPC] #relevant_constraints=310 #num_inclusions=308
  9.82e-05s  0.00e+00d  [TransformClausesToExactlyOne] #num_amos=234
  3.57e-04s  0.00e+00d  [DetectEncodedComplexDomains]
  2.01e-05s  2.00e-07d  [FindAlmostIdenticalLinearConstraints] #num_tested_pairs=4
  1.66e-04s  1.84e-04d  [FindBigAtMostOneAndLinearOverlap]
  1.11e-04s  2.07e-04d  [FindBigVerticalLinearOverlap]
  1.67e-05s  8.71e-06d  [FindBigHorizontalLinearOverlap] #linears=136
  1.20e-05s  0.00e+00d  [MergeClauses]
  5.87e-04s  0.00e+00d  [DetectDominanceRelations]
  4.17e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=2 #num_dual_strengthening=1
  2.29e-04s  0.00e+00d  [DetectDominanceRelations]
  2.03e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1
  5.83e-05s  0.00e+00d  [DetectDuplicateColumns]
  1.00e-04s  0.00e+00d  [DetectDuplicateConstraints]
[Symmetry] Graph for symmetry has 4'042 nodes and 6'890 arcs.
[Symmetry] Symmetry computation done. time: 0.000281155 dtime: 0.00073484
[SAT presolve] num removable Booleans: 0 / 596
[SAT presolve] num trivial clauses: 0
[SAT presolve] [0s] clauses:76 literals:152 vars:152 one_side_vars:152 simple_definition:0 singleton_clauses:0
[SAT presolve] [2.0482e-05s] clauses:76 literals:152 vars:152 one_side_vars:152 simple_definition:0 singleton_clauses:0
[SAT presolve] [4.0385e-05s] clauses:76 literals:152 vars:152 one_side_vars:152 simple_definition:0 singleton_clauses:0
  1.16e-04s  0.00e+00d  [DetectDuplicateConstraintsWithDifferentEnforcements]
  4.97e-03s  2.15e-03d  [Probe] #probed=1'192
  1.92e-04s  2.19e-04d  [MaxClique]
  6.12e-04s  0.00e+00d  [DetectDominanceRelations]
  2.99e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1
  1.51e-04s  0.00e+00d  [ProcessAtMostOneAndLinear]
  1.38e-04s  0.00e+00d  [DetectDuplicateConstraints]
  1.25e-04s  0.00e+00d  [DetectDuplicateConstraintsWithDifferentEnforcements]
  1.91e-04s  7.75e-06d  [DetectDominatedLinearConstraints] #relevant_constraints=150 #num_inclusions=74
  2.10e-05s  0.00e+00d  [DetectDifferentVariables]
  1.32e-04s  4.99e-06d  [ProcessSetPPC] #relevant_constraints=309
  1.05e-04s  0.00e+00d  [TransformClausesToExactlyOne] #num_amos=234
  4.15e-04s  0.00e+00d  [DetectEncodedComplexDomains]
  2.03e-05s  1.90e-07d  [FindAlmostIdenticalLinearConstraints] #num_tested_pairs=2
  1.86e-04s  1.82e-04d  [FindBigAtMostOneAndLinearOverlap]
  1.27e-04s  2.07e-04d  [FindBigVerticalLinearOverlap]
  1.78e-05s  8.70e-06d  [FindBigHorizontalLinearOverlap] #linears=136
  1.23e-05s  0.00e+00d  [MergeClauses]
  4.82e-04s  0.00e+00d  [DetectDominanceRelations]
  2.53e-03s  0.00e+00d  [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1
  3.72e-06s  0.00e+00d  [MergeNoOverlap]
  4.26e-06s  0.00e+00d  [MergeNoOverlap2D]
  4.98e-04s  0.00e+00d  [ExpandObjective] #entries=4'968 #tight_variables=596 #tight_constraints=74

Presolve summary:
  - 0 affine relations were detected.
  - rule 'TODO linear inclusion: superset is equality' was applied 149 times.
  - rule 'TODO linear2: convert ax + by != cte to clauses for large domains' was applied 3'576 times.
  - rule 'at_most_one: transformed into max clique' was applied 1 time.
  - rule 'bool_or: implications' was applied 261 times.
  - rule 'deductions: 1192 stored' was applied 1 time.
  - rule 'linear + amo: extracted enforcement literal' was applied 596 times.
  - rule 'linear2: contains a boolean' was applied 596 times.
  - rule 'linear2: convert ax + by != cte to clauses' was applied 261 times.
  - rule 'linear: positive at most one' was applied 158 times.
  - rule 'linear: positive equal one' was applied 74 times.
  - rule 'objective: shifted cost with exactly ones' was applied 74 times.
  - rule 'presolve: 0 unused variables removed.' was applied 1 time.
  - rule 'presolve: iteration' was applied 2 times.
  - rule 'setppc: exactly_one included in linear' was applied 74 times.
  - rule 'setppc: reduced linear coefficients' was applied 73 times.
  - rule 'setppc: removed trivial linear constraint' was applied 1 time.
  - rule 'variables: detect fully reified value encoding' was applied 596 times.
  - rule 'variables: detect half reified value encoding' was applied 1'192 times.

Presolved optimization model 'optiwindnet': (model_fingerprint: 0xd9b5e871a7065697)
#Variables: 1'192 (#bools: 522 in objective) (1'044 primary variables)
  - 596 Booleans in [0,1]
  - 522 in [0,6]
  - 74 in [0,7]
#kAtMostOne: 158 (#literals: 694)
#kBoolAnd: 76 (#enforced: 76) (#literals: 152)
#kExactlyOne: 74 (#literals: 596)
#kLinear1: 1'192 (#enforced: 1'192)
#kLinear2: 4
#kLinear3: 1
#kLinearN: 145 (#terms: 1'777)
[Symmetry] Graph for symmetry has 4'042 nodes and 6'890 arcs.
[Symmetry] Symmetry computation done. time: 0.000290338 dtime: 0.00073405

Preloading model.
#Bound   0.05s best:inf   next:[93516.0522,1236251.99] initial_domain
#1       0.05s best:136451.277 next:[93516.0522,136451.277] complete_hint
#Model   0.05s var:1192/1192 constraints:1650/1650

Starting search at 0.05s with 16 workers.
11 full problem subsolvers: [core, default_lp, lb_tree_search, max_lp, no_lp, objective_lb_search, probing, pseudo_costs, quick_restart, quick_restart_no_lp, reduced_costs]
5 first solution subsolvers: [fj(2), fs_random, fs_random_no_lp, fs_random_quick_restart_no_lp]
11 interleaved subsolvers: [feasibility_pump, graph_arc_lns, graph_cst_lns, graph_dec_lns, graph_var_lns, lb_relax_lns, ls, ls_lin, rins/rens, rnd_cst_lns, rnd_var_lns]
3 helper subsolvers: [neighborhood_helper, synchronization_agent, update_gap_integral]

#Bound   0.07s best:136451.277 next:[95755.9972,136451.277] am1_presolve (num_literals=522 num_am1=19 increase=2348752632 work_done=1852)
#2       0.07s best:136417.955 next:[95755.9972,136417.955] no_lp [hint] (fixed_bools=0/596)
#Bound   0.08s best:136417.955 next:[104424.449,136417.955] quick_restart
#Bound   0.08s best:136417.955 next:[106103.007,136417.955] reduced_costs
#Bound   0.10s best:136417.955 next:[127628.142,136417.955] max_lp
#3       0.11s best:135928.233 next:[127628.142,135928.233] quick_restart_no_lp (fixed_bools=0/633)
#4       0.15s best:135719.133 next:[127628.142,135719.133] rins_lp_lns (d=5.00e-01 s=27 t=0.10 p=0.00 stall=0 h=base)
#Bound   0.19s best:135719.133 next:[128533.054,135719.133] max_lp
#Bound   0.20s best:135719.133 next:[128614.809,135719.133] lb_tree_search
#Bound   0.22s best:135719.133 next:[128829.898,135719.133] lb_tree_search
#Bound   0.32s best:135719.133 next:[129188.341,135719.133] lb_tree_search
#Bound   0.38s best:135719.133 next:[129503.176,135719.133] max_lp
#Model   0.41s var:1176/1192 constraints:1631/1650
#Bound   0.91s best:135719.133 next:[129636.484,135719.133] max_lp
#5       1.01s best:134786.792 next:[129636.484,134786.792] lb_relax_lns_int_h (d=5.00e-01 s=38 t=0.50 p=0.00 stall=0 h=base)
#Bound   1.15s best:134786.792 next:[129686.174,134786.792] lb_tree_search (nodes=2/2 rc=0 decisions=6 @root=2 restarts=0 lp_iters=[0, 0, 91, 224])
#Model   1.15s var:1172/1192 constraints:1627/1650
#Bound   1.19s best:134786.792 next:[129727.256,134786.792] lb_tree_search (nodes=2/2 rc=0 decisions=7 @root=2 restarts=0 lp_iters=[0, 0, 249, 224])
#Bound   1.20s best:134786.792 next:[129732.727,134786.792] lb_tree_search (nodes=2/2 rc=0 decisions=8 @root=2 restarts=0 lp_iters=[0, 0, 267, 224])
#Bound   1.21s best:134786.792 next:[129951.958,134786.792] max_lp
#Model   1.33s var:1166/1192 constraints:1621/1650
#Bound   1.46s best:134786.792 next:[129955.117,134786.792] lb_tree_search (nodes=11/11 rc=1 decisions=44 @root=2 restarts=0 lp_iters=[0, 0, 1'053, 632])
#Bound   1.52s best:134786.792 next:[129955.117,134786.792] lb_tree_search (nodes=11/11 rc=1 decisions=50 @root=2 restarts=0 lp_iters=[0, 0, 1'240, 632])
#Bound   1.53s best:134786.792 next:[129955.119,134786.792] lb_tree_search (nodes=11/11 rc=1 decisions=51 @root=2 restarts=0 lp_iters=[0, 0, 1'241, 632])
#Bound   1.56s best:134786.792 next:[129958.058,134786.792] lb_tree_search (nodes=12/12 rc=1 decisions=54 @root=2 restarts=0 lp_iters=[0, 0, 1'314, 687])
#Bound   1.61s best:134786.792 next:[129964.308,134786.792] lb_tree_search (nodes=12/12 rc=1 decisions=58 @root=2 restarts=0 lp_iters=[0, 0, 1'476, 687])
#Bound   1.62s best:134786.792 next:[129964.325,134786.792] lb_tree_search (nodes=12/12 rc=1 decisions=59 @root=2 restarts=0 lp_iters=[0, 0, 1'553, 687])
#Bound   1.65s best:134786.792 next:[129964.772,134786.792] lb_tree_search (nodes=13/13 rc=1 decisions=62 @root=2 restarts=0 lp_iters=[0, 0, 1'645, 718])
#Bound   1.97s best:134786.792 next:[130000.747,134786.792] lb_tree_search (nodes=20/20 rc=2 decisions=102 @root=2 restarts=0 lp_iters=[0, 0, 2'943, 959])  [skipped_logs=8]
#Model   2.44s var:1152/1192 constraints:1606/1650
#Bound   2.98s best:134786.792 next:[130174.404,134786.792] lb_tree_search (nodes=47/47 rc=3 decisions=232 @root=2 restarts=0 lp_iters=[0, 0, 7'689, 1'628])  [skipped_logs=8]
#Model   3.81s var:1150/1192 constraints:1604/1650
#Bound   3.76s best:134786.792 next:[130286.209,134786.792] max_lp [skipped_logs=12]
#Bound   4.92s best:134786.792 next:[130389.092,134786.792] probing [skipped_logs=2]
#Model   5.26s var:1148/1192 constraints:1602/1650
#Bound   6.00s best:134786.792 next:[130504.741,134786.792] probing [skipped_logs=2]
#Bound   6.88s best:134786.792 next:[130575.687,134786.792] probing [skipped_logs=2]
#Bound   7.64s best:134786.792 next:[130575.693,134786.792] objective_lb_search [skipped_logs=0]
#Bound   8.23s best:134786.792 next:[130589.999,134786.792] probing [skipped_logs=1]
#Bound   9.34s best:134786.792 next:[130624.663,134786.792] probing [skipped_logs=3]
#Model  10.50s var:1146/1192 constraints:1600/1650
#Model  10.83s var:1144/1192 constraints:1598/1650
#Bound  10.86s best:134786.792 next:[130643.792,134786.792] probing [skipped_logs=2]
#Model  11.59s var:1142/1192 constraints:1596/1650
#Bound  11.69s best:134786.792 next:[130647.135,134786.792] probing [skipped_logs=1]
#Model  12.24s var:1138/1192 constraints:1592/1650
#Bound  12.47s best:134786.792 next:[130686.28,134786.792] probing [skipped_logs=0]
#Bound  13.36s best:134786.792 next:[130760.202,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1198 @root=11 restarts=2 lp_iters=[0, 0, 37'907, 7'006])  [skipped_logs=3]
#Model  14.51s var:1136/1192 constraints:1590/1650
#Model  14.80s var:1134/1192 constraints:1588/1650
#Bound  15.02s best:134786.792 next:[130776.831,134786.792] objective_lb_search [skipped_logs=1]
#Bound  15.74s best:134786.792 next:[130820.95,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1204 @root=13 restarts=2 lp_iters=[0, 0, 38'453, 7'006])  [skipped_logs=0]
#Model  16.48s var:1132/1192 constraints:1586/1650
#Bound  16.86s best:134786.792 next:[130966.399,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1216 @root=15 restarts=2 lp_iters=[0, 0, 39'196, 7'006])  [skipped_logs=6]
#Model  17.69s var:1130/1192 constraints:1584/1650
#Bound  17.58s best:134786.792 next:[130990.989,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1217 @root=16 restarts=2 lp_iters=[0, 0, 39'268, 7'006])  [skipped_logs=0]
#Bound  18.56s best:134786.792 next:[131036.835,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1222 @root=18 restarts=2 lp_iters=[0, 0, 39'789, 7'006])  [skipped_logs=1]
#Bound  19.51s best:134786.792 next:[131063.448,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1225 @root=19 restarts=2 lp_iters=[0, 0, 40'107, 7'006])  [skipped_logs=0]
#Bound  20.73s best:134786.792 next:[131095.46,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1231 @root=21 restarts=2 lp_iters=[0, 0, 40'617, 7'006])  [skipped_logs=1]
#Model  21.90s var:1128/1192 constraints:1582/1650
#Bound  21.99s best:134786.792 next:[131106.808,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1237 @root=23 restarts=2 lp_iters=[0, 0, 41'215, 7'006])  [skipped_logs=1]
#Model  22.12s var:1126/1192 constraints:1580/1650
#Bound  22.78s best:134786.792 next:[131152.027,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1238 @root=24 restarts=2 lp_iters=[0, 0, 41'292, 7'006])  [skipped_logs=0]
#Bound  23.88s best:134786.792 next:[131195.594,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1242 @root=26 restarts=2 lp_iters=[0, 0, 41'738, 7'006])  [skipped_logs=1]
#Bound  25.10s best:134786.792 next:[131196.013,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1245 @root=27 restarts=2 lp_iters=[0, 0, 42'082, 7'006])
#Model  25.31s var:1124/1192 constraints:1577/1650
#Bound  25.38s best:134786.792 next:[131225.63,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1249 @root=29 restarts=2 lp_iters=[0, 0, 42'453, 7'006])  [skipped_logs=1]
#Bound  26.51s best:134786.792 next:[131246.768,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1252 @root=30 restarts=2 lp_iters=[0, 0, 42'766, 7'006])  [skipped_logs=0]
#Bound  27.88s best:134786.792 next:[131291.724,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1257 @root=32 restarts=2 lp_iters=[0, 0, 43'530, 7'006])  [skipped_logs=1]
#Model  28.92s var:1122/1192 constraints:1575/1650
#Bound  28.07s best:134786.792 next:[131394.716,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1260 @root=33 restarts=2 lp_iters=[0, 0, 44'079, 7'006])  [skipped_logs=0]
#Model  29.10s var:1120/1192 constraints:1573/1650
#Bound  29.82s best:134786.792 next:[131500.684,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1276 @root=35 restarts=2 lp_iters=[0, 0, 45'523, 7'006])  [skipped_logs=7]
#Model  30.78s var:1118/1192 constraints:1571/1650
#Bound  30.79s best:134786.792 next:[131527.154,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1278 @root=36 restarts=2 lp_iters=[0, 0, 45'766, 7'006])  [skipped_logs=0]
#Bound  32.26s best:134786.792 next:[131529.643,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1283 @root=37 restarts=2 lp_iters=[0, 0, 46'500, 7'006])
#Model  33.13s var:1116/1192 constraints:1569/1650
#Bound  33.67s best:134786.792 next:[131539.576,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1288 @root=38 restarts=2 lp_iters=[0, 0, 47'242, 7'006])
#Model  34.89s var:1114/1192 constraints:1567/1650
#Bound  35.01s best:134786.792 next:[131549.156,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1292 @root=39 restarts=2 lp_iters=[0, 0, 47'787, 7'006])
#Model  35.20s var:1112/1192 constraints:1565/1650
#Bound  35.43s best:134786.792 next:[131572.473,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1295 @root=40 restarts=2 lp_iters=[0, 0, 48'033, 7'006])
#Model  36.49s var:1110/1192 constraints:1563/1650
#Bound  36.65s best:134786.792 next:[131602.665,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1297 @root=41 restarts=2 lp_iters=[0, 0, 48'535, 7'006])
#Bound  36.99s best:134786.792 next:[131609.409,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1301 @root=42 restarts=2 lp_iters=[0, 0, 48'972, 7'006])  [skipped_logs=0]
#Bound  38.44s best:134786.792 next:[131621.665,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1303 @root=43 restarts=2 lp_iters=[0, 0, 49'227, 7'006])
#Bound  39.76s best:134786.792 next:[131626.844,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1307 @root=44 restarts=2 lp_iters=[0, 0, 49'714, 7'006])
#Model  40.73s var:1108/1192 constraints:1561/1650
#Bound  40.79s best:134786.792 next:[131630.149,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1309 @root=45 restarts=2 lp_iters=[0, 0, 49'975, 7'006])
#Bound  41.26s best:134786.792 next:[131657.056,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1313 @root=46 restarts=2 lp_iters=[0, 0, 50'851, 7'006])
#Model  42.26s var:1106/1192 constraints:1559/1650
#Bound  42.35s best:134786.792 next:[131665.237,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1315 @root=47 restarts=2 lp_iters=[0, 0, 51'115, 7'006])
#Model  44.49s var:1104/1192 constraints:1557/1650
#Bound  44.80s best:134786.792 next:[131677.051,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1319 @root=48 restarts=2 lp_iters=[0, 0, 51'550, 7'006])
#Bound  45.71s best:134786.792 next:[131684.104,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1321 @root=49 restarts=2 lp_iters=[0, 0, 51'820, 7'006])
#Model  47.15s var:1102/1192 constraints:1555/1650
#Bound  47.38s best:134786.792 next:[131715.5,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1325 @root=50 restarts=2 lp_iters=[0, 0, 52'550, 7'006])
#Bound  47.58s best:134786.792 next:[131719.524,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1327 @root=51 restarts=2 lp_iters=[0, 0, 52'954, 7'006])
#Bound  50.37s best:134786.792 next:[131722.821,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1331 @root=52 restarts=2 lp_iters=[0, 0, 53'418, 7'006])
#Bound  50.56s best:134786.792 next:[131722.917,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1333 @root=53 restarts=2 lp_iters=[0, 0, 53'816, 7'006])
#Bound  50.64s best:134786.792 next:[131730.49,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1334 @root=53 restarts=2 lp_iters=[0, 0, 53'893, 7'006])
#Bound  51.01s best:134786.792 next:[131738.492,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1338 @root=54 restarts=2 lp_iters=[0, 0, 54'604, 7'006])
#Model  51.06s var:1100/1192 constraints:1553/1650
#Bound  52.62s best:134786.792 next:[131741.839,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1343 @root=55 restarts=2 lp_iters=[0, 0, 55'177, 7'190])
#Model  54.05s var:1098/1192 constraints:1551/1650
#Bound  54.46s best:134786.792 next:[131747.802,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1346 @root=56 restarts=2 lp_iters=[0, 0, 55'819, 7'190])
#Model  56.22s var:1096/1192 constraints:1549/1650
#Bound  56.58s best:134786.792 next:[131750.423,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1350 @root=57 restarts=2 lp_iters=[0, 0, 56'500, 7'190])
#Bound  57.22s best:134786.792 next:[131754,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1354 @root=58 restarts=2 lp_iters=[0, 0, 57'087, 7'190])
#Bound  60.53s best:134786.792 next:[131754.966,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1358 @root=59 restarts=2 lp_iters=[0, 0, 57'606, 7'190])
#Bound  60.95s best:134786.792 next:[131758.549,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1362 @root=60 restarts=2 lp_iters=[0, 0, 58'264, 7'190])
#Bound  60.97s best:134786.792 next:[131758.968,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1363 @root=60 restarts=2 lp_iters=[0, 0, 58'275, 7'190])
#Bound  61.03s best:134786.792 next:[131759.314,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1364 @root=60 restarts=2 lp_iters=[0, 0, 58'287, 7'190])
#Bound  61.13s best:134786.792 next:[131767.652,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1366 @root=60 restarts=2 lp_iters=[0, 0, 58'381, 7'190])
#Model  62.15s var:1094/1192 constraints:1547/1650
#Bound  62.69s best:134786.792 next:[131792.166,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1368 @root=61 restarts=2 lp_iters=[0, 0, 58'660, 7'190])
#Bound  63.34s best:134786.792 next:[131793.822,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1373 @root=62 restarts=2 lp_iters=[0, 0, 59'637, 7'190])
#Bound  63.35s best:134786.792 next:[131795.561,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1374 @root=62 restarts=2 lp_iters=[0, 0, 59'671, 7'190])
#Bound  63.55s best:134786.792 next:[131808.908,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1377 @root=62 restarts=2 lp_iters=[0, 0, 59'950, 7'190])
#Bound  63.74s best:134786.792 next:[131829.773,134786.792] lb_tree_search (nodes=8/8 rc=23 decisions=1378 @root=62 restarts=2 lp_iters=[0, 0, 60'322, 7'190])  [skipped_logs=0]
#Bound  64.49s best:134786.792 next:[131846.77,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1383 @root=62 restarts=2 lp_iters=[0, 0, 61'459, 7'372])  [skipped_logs=1]
#Bound  65.93s best:134786.792 next:[131861.673,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1386 @root=63 restarts=2 lp_iters=[0, 0, 61'882, 7'372])  [skipped_logs=0]
#Model  67.27s var:1092/1192 constraints:1545/1650
#Model  69.77s var:1090/1192 constraints:1543/1650
#Model  70.24s var:1088/1192 constraints:1541/1650
#Bound  70.26s best:134786.792 next:[131869.193,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1390 @root=64 restarts=2 lp_iters=[0, 0, 62'373, 7'372])
#Bound  72.53s best:134786.792 next:[131896.479,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1396 @root=65 restarts=2 lp_iters=[0, 0, 63'040, 7'372])
#Bound  74.33s best:134786.792 next:[131927.771,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1398 @root=66 restarts=2 lp_iters=[0, 0, 63'313, 7'372])
#Model  74.44s var:1086/1192 constraints:1539/1650
#Model  75.57s var:1084/1192 constraints:1537/1650
#Bound  76.24s best:134786.792 next:[131943.907,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1400 @root=67 restarts=2 lp_iters=[0, 0, 63'586, 7'372])
#Model  76.42s var:1082/1192 constraints:1535/1650
#Bound  76.71s best:134786.792 next:[131952.935,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1402 @root=68 restarts=2 lp_iters=[0, 0, 63'862, 7'372])
#Bound  78.17s best:134786.792 next:[131964.168,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1404 @root=69 restarts=2 lp_iters=[0, 0, 64'138, 7'372])
#Bound  78.88s best:134786.792 next:[131965.687,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1410 @root=70 restarts=2 lp_iters=[0, 0, 65'184, 7'372])
#Model  80.36s var:1080/1192 constraints:1533/1650
#Bound  80.47s best:134786.792 next:[131982.298,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1412 @root=71 restarts=2 lp_iters=[0, 0, 65'463, 7'372])
#Model  82.31s var:1078/1192 constraints:1531/1650
#Bound  84.13s best:134786.792 next:[131990.547,134786.792] lb_tree_search (nodes=9/9 rc=23 decisions=1417 @root=72 restarts=2 lp_iters=[0, 0, 66'053, 7'372])
#Bound  88.75s best:134786.792 next:[131992.892,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1424 @root=74 restarts=2 lp_iters=[0, 0, 67'169, 7'681])
#Bound  89.01s best:134786.792 next:[132004.424,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1426 @root=75 restarts=2 lp_iters=[0, 0, 67'635, 7'681])
#Bound  92.50s best:134786.792 next:[132010.3,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1432 @root=76 restarts=2 lp_iters=[0, 0, 68'288, 7'681])
#Bound  93.02s best:134786.792 next:[132013.933,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1438 @root=77 restarts=2 lp_iters=[0, 0, 68'927, 7'681])
#Bound  93.34s best:134786.792 next:[132033.411,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1439 @root=77 restarts=2 lp_iters=[0, 0, 69'479, 7'681])
#Bound  94.68s best:134786.792 next:[132039.967,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1441 @root=78 restarts=2 lp_iters=[0, 0, 69'755, 7'681])
#Model  95.81s var:1076/1192 constraints:1529/1650
#Bound  98.11s best:134786.792 next:[132046.842,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1447 @root=79 restarts=2 lp_iters=[0, 0, 70'740, 7'681])
#Bound  98.70s best:134786.792 next:[132052.691,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1451 @root=80 restarts=2 lp_iters=[0, 0, 71'347, 7'681])
#Bound 100.12s best:134786.792 next:[132062.393,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1453 @root=81 restarts=2 lp_iters=[0, 0, 71'623, 7'681])
#Bound 100.63s best:134786.792 next:[132069.442,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1455 @root=82 restarts=2 lp_iters=[0, 0, 72'474, 7'681])
#Bound 102.06s best:134786.792 next:[132078.306,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1457 @root=83 restarts=2 lp_iters=[0, 0, 72'750, 7'681])
#Bound 102.23s best:134786.792 next:[132078.432,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1458 @root=83 restarts=2 lp_iters=[0, 0, 73'047, 7'681])
#Model 103.47s var:1074/1192 constraints:1527/1650
#Bound 106.16s best:134786.792 next:[132090.115,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1464 @root=84 restarts=2 lp_iters=[0, 0, 73'864, 7'681])
#Bound 106.54s best:134786.792 next:[132114.348,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1466 @root=85 restarts=2 lp_iters=[0, 0, 74'534, 7'681])
#Model 107.81s var:1072/1192 constraints:1525/1650
#Model 109.24s var:1070/1192 constraints:1523/1650
#Bound 112.04s best:134786.792 next:[132121.999,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1471 @root=87 restarts=2 lp_iters=[0, 0, 75'691, 7'681])
#Bound 112.35s best:134786.792 next:[132135.298,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1473 @root=88 restarts=2 lp_iters=[0, 0, 76'220, 7'681])
#Bound 112.44s best:134786.792 next:[132136.539,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1474 @root=88 restarts=2 lp_iters=[0, 0, 76'261, 7'681])
#Bound 112.50s best:134786.792 next:[132136.54,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1475 @root=88 restarts=2 lp_iters=[0, 0, 76'262, 7'681])
#Bound 112.56s best:134786.792 next:[132136.557,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1476 @root=88 restarts=2 lp_iters=[0, 0, 76'275, 7'681])
#Bound 112.77s best:134786.792 next:[132146.729,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1479 @root=88 restarts=2 lp_iters=[0, 0, 76'551, 7'681])
#Model 115.21s var:1068/1192 constraints:1521/1650
#Model 115.56s var:1066/1192 constraints:1519/1650
#Bound 116.63s best:134786.792 next:[132155.978,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1485 @root=89 restarts=2 lp_iters=[0, 0, 77'222, 7'681])
#Bound 119.15s best:134786.792 next:[132162.32,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1491 @root=90 restarts=2 lp_iters=[0, 0, 77'918, 7'681])
#Model 119.25s var:1064/1192 constraints:1517/1650
#Model 120.67s var:1062/1192 constraints:1515/1650
#Bound 121.25s best:134786.792 next:[132169.919,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1493 @root=91 restarts=2 lp_iters=[0, 0, 78'473, 7'681])
#Model 123.02s var:1060/1192 constraints:1513/1650
#Bound 123.63s best:134786.792 next:[132179.829,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1497 @root=92 restarts=2 lp_iters=[0, 0, 79'337, 7'681])
#Model 124.79s var:1058/1192 constraints:1511/1650
#Bound 126.79s best:134786.792 next:[132182.334,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1499 @root=93 restarts=2 lp_iters=[0, 0, 79'616, 7'681])
#Bound 129.02s best:134786.792 next:[132183.324,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1501 @root=94 restarts=2 lp_iters=[0, 0, 79'898, 7'681])
#Model 130.89s var:1056/1192 constraints:1509/1650
#Bound 131.51s best:134786.792 next:[132187.967,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1504 @root=95 restarts=2 lp_iters=[0, 0, 80'196, 7'681])
#Bound 133.89s best:134786.792 next:[132208.334,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1509 @root=96 restarts=2 lp_iters=[0, 0, 80'734, 7'681])
#Bound 136.34s best:134786.792 next:[132214.95,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1514 @root=97 restarts=2 lp_iters=[0, 0, 81'311, 7'681])
#Bound 136.63s best:134786.792 next:[132217.088,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1516 @root=98 restarts=2 lp_iters=[0, 0, 81'800, 7'681])
#Model 137.96s var:1054/1192 constraints:1507/1650
#Model 138.15s var:1052/1192 constraints:1504/1650
#Model 139.67s var:1050/1192 constraints:1502/1650
#Bound 140.85s best:134786.792 next:[132217.8,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1518 @root=99 restarts=2 lp_iters=[0, 0, 82'079, 7'681])
#Bound 143.53s best:134786.792 next:[132227.852,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1522 @root=100 restarts=2 lp_iters=[0, 0, 82'671, 7'681])
#Bound 143.96s best:134786.792 next:[132234.53,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1526 @root=101 restarts=2 lp_iters=[0, 0, 83'271, 7'681])
#Bound 144.03s best:134786.792 next:[132237.086,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1527 @root=101 restarts=2 lp_iters=[0, 0, 83'314, 7'681])
#Bound 144.11s best:134786.792 next:[132260.085,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1529 @root=101 restarts=2 lp_iters=[0, 0, 83'395, 7'681])
#Bound 144.30s best:134786.792 next:[132275.159,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1532 @root=101 restarts=2 lp_iters=[0, 0, 83'668, 7'681])
#Bound 144.69s best:134786.792 next:[132289.47,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1533 @root=101 restarts=2 lp_iters=[0, 0, 84'264, 7'681])
#Bound 145.11s best:134786.792 next:[132290.072,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1535 @root=101 restarts=2 lp_iters=[0, 0, 84'716, 7'681])
#Bound 146.38s best:134786.792 next:[132306.899,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1537 @root=102 restarts=2 lp_iters=[0, 0, 84'986, 7'681])
#Bound 146.58s best:134786.792 next:[132309.976,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1538 @root=102 restarts=2 lp_iters=[0, 0, 85'346, 7'681])
#Bound 146.89s best:134786.792 next:[132313.922,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1539 @root=102 restarts=2 lp_iters=[0, 0, 85'820, 7'681])
#Bound 146.95s best:134786.792 next:[132314.104,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1540 @root=102 restarts=2 lp_iters=[0, 0, 85'834, 7'681])
#Bound 147.04s best:134786.792 next:[132315.596,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1541 @root=102 restarts=2 lp_iters=[0, 0, 85'870, 7'681])
#Bound 147.15s best:134786.792 next:[132316.891,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1543 @root=102 restarts=2 lp_iters=[0, 0, 85'960, 7'681])
#Model 148.94s var:1048/1192 constraints:1500/1650
#Bound 151.10s best:134786.792 next:[132324.115,134786.792] lb_tree_search (nodes=10/10 rc=23 decisions=1549 @root=103 restarts=2 lp_iters=[0, 0, 86'509, 7'681])
#Model 154.64s var:1046/1192 constraints:1498/1650
#Bound 157.31s best:134786.792 next:[132334.478,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1563 @root=105 restarts=2 lp_iters=[0, 0, 88'219, 7'837])
#Bound 157.58s best:134786.792 next:[132347.23,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1565 @root=106 restarts=2 lp_iters=[0, 0, 88'688, 7'837])
#Bound 164.34s best:134786.792 next:[132347.36,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1571 @root=108 restarts=2 lp_iters=[0, 0, 89'913, 7'837])
#Bound 167.57s best:134786.792 next:[132351.865,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1577 @root=109 restarts=2 lp_iters=[0, 0, 90'825, 7'837])
#Model 169.17s var:1044/1192 constraints:1496/1650
#Bound 170.23s best:134786.792 next:[132362.908,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1579 @root=110 restarts=2 lp_iters=[0, 0, 91'353, 7'837])
#Model 173.58s var:1042/1192 constraints:1494/1650
#Bound 174.81s best:134786.792 next:[132365.815,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1586 @root=111 restarts=2 lp_iters=[0, 0, 92'178, 7'837])
#Bound 175.32s best:134786.792 next:[132368.353,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1590 @root=112 restarts=2 lp_iters=[0, 0, 93'024, 7'837])
#Bound 176.88s best:134786.792 next:[132372.052,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1593 @root=113 restarts=2 lp_iters=[0, 0, 93'633, 7'837])
#Bound 180.59s best:134786.792 next:[132372.51,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1600 @root=114 restarts=2 lp_iters=[0, 0, 95'278, 7'837])
#Bound 181.09s best:134786.792 next:[132372.795,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1603 @root=115 restarts=2 lp_iters=[0, 0, 96'075, 7'837])
#Bound 181.86s best:134786.792 next:[132387.413,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1607 @root=115 restarts=2 lp_iters=[0, 0, 97'288, 7'837])
#Bound 182.61s best:134786.792 next:[132387.824,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1612 @root=115 restarts=2 lp_iters=[0, 0, 98'500, 7'837])
#Bound 187.00s best:134786.792 next:[132397.581,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1615 @root=116 restarts=2 lp_iters=[0, 0, 99'017, 7'837])
#Bound 190.13s best:134786.792 next:[132397.808,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1618 @root=117 restarts=2 lp_iters=[0, 0, 99'815, 7'837])
#Bound 193.19s best:134786.792 next:[132397.967,134786.792] lb_tree_search (nodes=11/11 rc=23 decisions=1621 @root=118 restarts=2 lp_iters=[0, 0, 100'627, 7'837])
#Model 194.37s var:1040/1192 constraints:1492/1650
#Model 196.22s var:1036/1192 constraints:1488/1650
#Model 198.81s var:1034/1192 constraints:1486/1650
#Model 200.93s var:1032/1192 constraints:1484/1650
#Bound 202.18s best:134786.792 next:[132403.374,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1629 @root=120 restarts=2 lp_iters=[0, 0, 101'831, 7'941])
#Model 203.79s var:1030/1192 constraints:1482/1650
#Model 204.27s var:1026/1192 constraints:1478/1650
#Model 205.04s var:1024/1192 constraints:1476/1650
#Bound 205.69s best:134786.792 next:[132414.819,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1636 @root=121 restarts=2 lp_iters=[0, 0, 102'780, 7'941])
#Bound 210.01s best:134786.792 next:[132418.265,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1639 @root=122 restarts=2 lp_iters=[0, 0, 103'382, 7'941])
#Model 211.70s var:1022/1192 constraints:1474/1650
#Bound 214.70s best:134786.792 next:[132422.482,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1642 @root=123 restarts=2 lp_iters=[0, 0, 103'984, 7'941])
#Model 216.32s var:1020/1192 constraints:1472/1650
#Model 217.60s var:1018/1192 constraints:1470/1650
#Bound 219.18s best:134786.792 next:[132426.411,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1645 @root=124 restarts=2 lp_iters=[0, 0, 104'593, 7'941])
#Model 219.92s var:1016/1192 constraints:1468/1650
#Model 220.43s var:1014/1192 constraints:1466/1650
#Model 222.46s var:1012/1192 constraints:1464/1650
#Bound 224.03s best:134786.792 next:[132431.053,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1650 @root=125 restarts=2 lp_iters=[0, 0, 105'358, 7'941])
#Bound 225.55s best:134786.792 next:[132435.568,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1655 @root=126 restarts=2 lp_iters=[0, 0, 106'089, 7'941])
#Bound 225.56s best:134786.792 next:[132435.579,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1656 @root=126 restarts=2 lp_iters=[0, 0, 106'096, 7'941])
#Bound 225.63s best:134786.792 next:[132435.882,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1657 @root=126 restarts=2 lp_iters=[0, 0, 106'143, 7'941])
#Model 228.14s var:1010/1192 constraints:1462/1650
#Bound 230.54s best:134786.792 next:[132437.878,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1659 @root=127 restarts=2 lp_iters=[0, 0, 106'401, 7'941])
#Bound 235.17s best:134786.792 next:[132446.197,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1664 @root=128 restarts=2 lp_iters=[0, 0, 107'069, 7'941])
#Bound 240.06s best:134786.792 next:[132446.613,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1669 @root=129 restarts=2 lp_iters=[0, 0, 107'771, 7'941])
#Model 240.17s var:1008/1192 constraints:1460/1650
#Bound 244.98s best:134786.792 next:[132450.454,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1674 @root=130 restarts=2 lp_iters=[0, 0, 108'497, 7'941])
#Bound 249.98s best:134786.792 next:[132451.86,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1679 @root=131 restarts=2 lp_iters=[0, 0, 109'248, 7'941])
#Model 253.75s var:1006/1192 constraints:1458/1650
#Bound 255.09s best:134786.792 next:[132454.073,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1684 @root=132 restarts=2 lp_iters=[0, 0, 110'002, 7'941])
#Model 256.33s var:1004/1192 constraints:1456/1650
#Bound 260.29s best:134786.792 next:[132454.575,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1689 @root=133 restarts=2 lp_iters=[0, 0, 110'806, 7'941])
#Bound 264.67s best:134786.792 next:[132459.556,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1694 @root=134 restarts=2 lp_iters=[0, 0, 111'560, 7'941])
#Bound 265.38s best:134786.792 next:[132462.068,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1699 @root=135 restarts=2 lp_iters=[0, 0, 112'566, 7'941])
#Bound 265.41s best:134786.792 next:[132463.211,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1700 @root=135 restarts=2 lp_iters=[0, 0, 112'621, 7'941])
#Bound 265.51s best:134786.792 next:[132479.277,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1702 @root=135 restarts=2 lp_iters=[0, 0, 112'707, 7'941])
#Model 267.62s var:1000/1192 constraints:1452/1650
#Bound 271.31s best:134786.792 next:[132483.707,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1705 @root=136 restarts=2 lp_iters=[0, 0, 113'309, 7'941])
#Model 274.54s var:998/1192 constraints:1450/1650
#Model 274.69s var:996/1192 constraints:1448/1650
#Bound 276.00s best:134786.792 next:[132501.862,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1708 @root=137 restarts=2 lp_iters=[0, 0, 113'911, 7'941])
#Bound 276.53s best:134786.792 next:[132506.568,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1712 @root=138 restarts=2 lp_iters=[0, 0, 114'670, 7'941])
#Bound 278.21s best:134786.792 next:[132515.668,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1714 @root=139 restarts=2 lp_iters=[0, 0, 114'931, 7'941])
#Model 279.04s var:994/1192 constraints:1445/1650
#Bound 279.10s best:134786.792 next:[132519.695,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1721 @root=140 restarts=2 lp_iters=[0, 0, 116'208, 7'941])
#Model 280.21s var:992/1192 constraints:1443/1650
#Bound 281.15s best:134786.792 next:[132536.257,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1723 @root=141 restarts=2 lp_iters=[0, 0, 116'469, 7'941])
#Bound 285.50s best:134786.792 next:[132538.549,134786.792] lb_tree_search (nodes=12/12 rc=23 decisions=1728 @root=142 restarts=2 lp_iters=[0, 0, 117'724, 7'941])
#Bound 287.56s best:134786.792 next:[132551.207,134786.792] lb_tree_search (nodes=13/13 rc=23 decisions=1732 @root=143 restarts=2 lp_iters=[0, 0, 118'503, 8'289])
#Model 290.05s var:990/1192 constraints:1441/1650
#Bound 293.15s best:134786.792 next:[132560.196,134786.792] lb_tree_search (nodes=13/13 rc=23 decisions=1739 @root=144 restarts=2 lp_iters=[0, 0, 119'562, 8'289])
#Model 293.45s var:986/1192 constraints:1435/1650
#Bound 294.93s best:134786.792 next:[132569.319,134786.792] lb_tree_search (nodes=13/13 rc=23 decisions=1745 @root=145 restarts=2 lp_iters=[0, 0, 120'442, 8'289])
#Bound 295.15s best:134786.792 next:[132569.879,134786.792] lb_tree_search (nodes=13/13 rc=23 decisions=1747 @root=145 restarts=2 lp_iters=[0, 0, 120'823, 8'289])
#Bound 295.23s best:134786.792 next:[132572.669,134786.792] lb_tree_search (nodes=13/13 rc=23 decisions=1748 @root=145 restarts=2 lp_iters=[0, 0, 120'869, 8'289])
#Bound 295.28s best:134786.792 next:[132572.67,134786.792] lb_tree_search (nodes=13/13 rc=23 decisions=1749 @root=145 restarts=2 lp_iters=[0, 0, 120'870, 8'289])
#Bound 295.42s best:134786.792 next:[132575.539,134786.792] lb_tree_search (nodes=14/14 rc=23 decisions=1753 @root=145 restarts=2 lp_iters=[0, 0, 121'044, 8'376])
#Bound 295.64s best:134786.792 next:[132588.405,134786.792] lb_tree_search (nodes=14/14 rc=23 decisions=1754 @root=145 restarts=2 lp_iters=[0, 0, 121'392, 8'376])
#Bound 295.92s best:134786.792 next:[132588.419,134786.792] lb_tree_search (nodes=14/14 rc=23 decisions=1756 @root=145 restarts=2 lp_iters=[0, 0, 121'823, 8'376])
#Bound 295.93s best:134786.792 next:[132588.427,134786.792] lb_tree_search (nodes=14/14 rc=23 decisions=1757 @root=145 restarts=2 lp_iters=[0, 0, 121'830, 8'376])
#Bound 296.01s best:134786.792 next:[132590.83,134786.792] lb_tree_search (nodes=14/14 rc=23 decisions=1758 @root=145 restarts=2 lp_iters=[0, 0, 121'890, 8'376])
#Bound 296.06s best:134786.792 next:[132590.838,134786.792] lb_tree_search (nodes=14/14 rc=23 decisions=1759 @root=145 restarts=2 lp_iters=[0, 0, 121'903, 8'376])
#Bound 296.18s best:134786.792 next:[132591.516,134786.792] lb_tree_search (nodes=15/15 rc=23 decisions=1762 @root=145 restarts=2 lp_iters=[0, 0, 121'990, 8'411])
#Bound 296.40s best:134786.792 next:[132593.648,134786.792] lb_tree_search (nodes=16/16 rc=23 decisions=1766 @root=145 restarts=2 lp_iters=[0, 0, 122'250, 8'472])
#Bound 296.61s best:134786.792 next:[132594.076,134786.792] lb_tree_search (nodes=16/16 rc=23 decisions=1767 @root=145 restarts=2 lp_iters=[0, 0, 122'526, 8'472])
#Bound 296.74s best:134786.792 next:[132609.513,134786.792] lb_tree_search (nodes=17/17 rc=23 decisions=1770 @root=145 restarts=2 lp_iters=[0, 0, 122'612, 8'552])
#Bound 299.04s best:134786.792 next:[132611.639,134786.792] lb_tree_search (nodes=17/17 rc=23 decisions=1773 @root=146 restarts=2 lp_iters=[0, 0, 123'214, 8'552])
#Bound 299.09s best:134786.792 next:[132613.528,134786.792] lb_tree_search (nodes=17/17 rc=23 decisions=1774 @root=146 restarts=2 lp_iters=[0, 0, 123'300, 8'552])

Task timing                                n [     min,      max]      avg      dev     time         n [     min,      max]      avg      dev    dtime
                           'core':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [  2.22ms,    3.69m]    1.85m    1.85m    3.69m
                     'default_lp':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [ 76.53ms,    2.74m]    1.37m    1.37m    2.75m
               'feasibility_pump':      1474 [106.46us, 159.05ms]   3.21ms   9.04ms    4.74s      1471 [234.65us,  68.17ms] 629.97us   3.82ms 926.69ms
                             'fj':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
                             'fj':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
                      'fs_random':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
                'fs_random_no_lp':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
  'fs_random_quick_restart_no_lp':         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns         0 [  0.00ns,   0.00ns]   0.00ns   0.00ns   0.00ns
                  'graph_arc_lns':       575 [  7.98ms, 668.03ms] 257.92ms 169.56ms    2.47m       575 [  5.96us, 119.71ms]  64.90ms  47.56ms   37.32s
                  'graph_cst_lns':       526 [ 13.12ms, 772.38ms] 282.44ms 162.15ms    2.48m       526 [ 23.47us, 108.48ms]  65.48ms  42.54ms   34.44s
                  'graph_dec_lns':       530 [  1.09ms, 805.96ms] 278.72ms 182.90ms    2.46m       529 [ 10.00ns, 102.47ms]  60.99ms  44.16ms   32.26s
                  'graph_var_lns':       559 [  6.14ms, 626.06ms] 264.87ms 167.63ms    2.47m       559 [ 10.00ns, 115.40ms]  66.22ms  45.97ms   37.02s
                   'lb_relax_lns':       128 [169.75ms,    2.53s]    1.21s 724.30ms    2.59m       128 [ 26.98ms, 550.00ms] 340.56ms 215.74ms   43.59s
                 'lb_tree_search':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [181.13ms,    3.01m]    1.51m    1.51m    3.02m
                             'ls':       680 [ 12.00ms, 456.58ms] 216.73ms  30.74ms    2.46m       679 [100.00ms, 100.03ms] 100.01ms   4.54us    1.13m
                         'ls_lin':       691 [138.75ms, 392.99ms] 213.54ms  28.04ms    2.46m       691 [100.00ms, 100.04ms] 100.01ms   4.86us    1.15m
                         'max_lp':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [204.06ms,    2.64m]    1.32m    1.32m    2.64m
                          'no_lp':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [  2.54ms,    2.49m]    1.25m    1.25m    2.49m
            'objective_lb_search':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [ 77.04ms,    3.02m]    1.51m    1.51m    3.02m
                        'probing':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [ 80.16ms,    2.18m]    1.09m    1.09m    2.18m
                   'pseudo_costs':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [ 26.46ms,    2.51m]    1.26m    1.26m    2.51m
                  'quick_restart':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [ 80.21ms,    2.85m]    1.42m    1.42m    2.85m
            'quick_restart_no_lp':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [  2.54ms,    3.06m]    1.53m    1.53m    3.06m
                  'reduced_costs':         1 [   5.00m,    5.00m]    5.00m   0.00ns    5.00m         2 [ 34.29ms,    2.73m]    1.36m    1.36m    2.73m
                      'rins/rens':       641 [449.90us, 787.28ms] 232.06ms 202.38ms    2.48m       556 [737.00ns, 100.22ms]  58.55ms  45.54ms   32.55s
                    'rnd_cst_lns':       509 [ 11.43ms, 832.69ms] 289.78ms 164.64ms    2.46m       509 [504.00ns, 104.21ms]  65.12ms  41.23ms   33.15s
                    'rnd_var_lns':       527 [  8.24ms, 813.39ms] 280.86ms 167.51ms    2.47m       527 [197.00ns, 104.30ms]  63.44ms  42.97ms   33.43s

Search stats                        Bools  Conflicts   Branches  Restarts  BacktrackToRoot  Backtrack   BoolPropag  IntegerPropag
                           'core':  1'220  2'874'858  6'028'371    12'282           42'025  2'846'709  262'210'586    251'551'889
                     'default_lp':    728      9'186  2'206'566        66          272'232    557'446   28'701'213    119'052'366
                      'fs_random':      0          0          0         0                0          0            0              0
                'fs_random_no_lp':      0          0          0         0                0          0            0              0
  'fs_random_quick_restart_no_lp':      0          0          0         0                0          0            0              0
                 'lb_tree_search':    596      2'741  2'722'432         0          338'472    676'042   28'048'392    147'376'207
                         'max_lp':    596      7'253  2'259'989        77          281'928    560'392   23'326'849    122'303'426
                          'no_lp':    596  3'166'528  4'446'206     2'390           69'639  3'372'935  178'009'060    545'875'607
            'objective_lb_search':    735      5'855  2'308'358        58          290'413    578'793   27'018'474    123'614'776
                        'probing':    796         31      2'161         0            1'976      1'987       32'444         99'618
                   'pseudo_costs':    596      9'038  2'145'798        82          268'812    531'369   22'079'902    115'737'484
                  'quick_restart':    686      4'531  2'503'780        81          319'639    635'102   30'027'364    131'021'503
            'quick_restart_no_lp':  1'352    793'402  9'663'375    71'327          344'765  1'238'647  143'006'548    292'451'529
                  'reduced_costs':    608     10'500  2'241'238        90          288'218    556'201   22'697'262    118'150'538

SAT formula                         Fixed  Equiv  Total  VarLeft  BinaryClauses  PermanentClauses  TemporaryClauses
                           'core':    108     28  1'220    1'084          7'464            23'812            12'523
                     'default_lp':    106      2    728      620          4'990             9'361             4'731
                      'fs_random':      0      0      0        0              0                 0                 0
                'fs_random_no_lp':      0      0      0        0              0                 0                 0
  'fs_random_quick_restart_no_lp':      0      0      0        0              0                 0                 0
                 'lb_tree_search':    101      2    596      493          4'404             8'971                36
                         'max_lp':    103      2    596      491          4'608             9'235             3'305
                          'no_lp':    103      2    596      491          4'428            33'865             4'644
            'objective_lb_search':    177      2    735      556          4'624             9'241               318
                        'probing':    111      0    796      685         25'022             9'498                10
                   'pseudo_costs':    103      2    596      491          4'380             9'283             4'912
                  'quick_restart':    104      2    686      580          4'792             9'157               711
            'quick_restart_no_lp':    130     11  1'352    1'211          9'250            24'593            10'276
                  'reduced_costs':    100      2    608      506          4'498             8'799             6'619

SAT stats                           ClassicMinim  LitRemoved  LitRemovedBinary   LitLearned  LitForgotten   Subsumed
                           'core':     2'144'613  21'286'743         6'214'877  203'011'528   143'780'766    757'562
                     'default_lp':         6'196      80'560           168'410      411'490             0      3'297
                      'fs_random':             0           0                 0            0             0          0
                'fs_random_no_lp':             0           0                 0            0             0          0
  'fs_random_quick_restart_no_lp':             0           0                 0            0             0          0
                 'lb_tree_search':           577       2'134            17'112       24'638             0      2'224
                         'max_lp':         4'668      69'934           120'156      370'762             0      3'032
                          'no_lp':     3'026'063  27'994'916         7'644'843  174'606'707    36'414'219  2'563'061
            'objective_lb_search':         3'324      85'630            45'000       94'882             0      3'325
                        'probing':             5          25               411        1'213             0          1
                   'pseudo_costs':         6'329     101'976           156'810      526'102             0      3'176
                  'quick_restart':         1'997      22'173            42'566       76'934             0      2'859
            'quick_restart_no_lp':       695'218  10'549'656        14'157'156   45'001'521    38'198'380     95'934
                  'reduced_costs':         7'133     166'978           168'825      730'197             0      3'077

Vivification                        Clauses  Decisions  LitTrue  Subsumed  LitRemoved  DecisionReused  Conflicts
                           'core':   31'555    587'918        0     4'957     135'851          72'706        676
                     'default_lp':  479'228  2'104'881        1     3'775      26'773         583'300         56
                      'fs_random':        0          0        0         0           0               0          0
                'fs_random_no_lp':        0          0        0         0           0               0          0
  'fs_random_quick_restart_no_lp':        0          0        0         0           0               0          0
                 'lb_tree_search':  595'215  2'622'859        1     3'052      20'947         749'172         34
                         'max_lp':  492'189  2'168'184        4     3'599      25'517         607'614         53
                          'no_lp':  224'336    844'584      106     5'201      50'901         535'044         88
            'objective_lb_search':  500'403  2'212'657       10     3'582      25'596         616'576         57
                        'probing':        3          7        0         0           0               0          0
                   'pseudo_costs':  465'095  2'054'572        5     3'809      26'779         572'202         47
                  'quick_restart':  546'529  2'394'027        2     3'548      25'057         668'681         58
            'quick_restart_no_lp':  314'052  1'657'092        4    16'012     141'572         189'549      1'128
                  'reduced_costs':  477'667  2'115'715        1     3'345      23'514         565'831         53

Clause deletion                     at_true  l_and_not(l)  to_binary  sub_conflict  sub_extra  sub_decisions  sub_eager  sub_vivify  sub_probing  sub_inpro  blocked  eliminated  forgotten   promoted  conflicts
                           'core':    1'645            25         39       712'089     85'259            115     45'473       4'957           17      4'341        0           0  1'998'536  6'720'671  2'874'858
                     'default_lp':      970             2          5         3'256         10             10         41       3'775          390        380        0           0          0     15'445      9'186
                      'fs_random':        0             0          0             0          0              0          0           0            0          0        0           0          0          0          0
                'fs_random_no_lp':        0             0          0             0          0              0          0           0            0          0        0           0          0          0          0
  'fs_random_quick_restart_no_lp':        0             0          0             0          0              0          0           0            0          0        0           0          0          0          0
                 'lb_tree_search':      993             1         10         2'209          0             14         15       3'052          399        597        0           0          0        686      2'741
                         'max_lp':    1'007             2          5         2'992          2             15         40       3'599          330        383        0           0          0     10'855      7'253
                          'no_lp':    4'309           465          4     2'558'883      2'058         34'334      4'178       5'201        1'328        634        0           0    520'361  6'477'505  3'166'528
            'objective_lb_search':    2'188             7          6         3'255          4             40         70       3'582          312        543        0           0          0      4'980      5'855
                        'probing':        0             0          0             1          0              0          0           0            0          0        0           0          0         16         31
                   'pseudo_costs':      829             2          7         3'139          5             17         37       3'809          323        448        0           0          0     14'644      9'038
                  'quick_restart':      834             2          6         2'831          2             14         28       3'548          342        607        0           0          0      3'684      4'531
            'quick_restart_no_lp':    6'016            18        124        88'329      3'319            314      7'605      16'012        1'688      2'022        0           0    643'913  1'751'484    793'402
                  'reduced_costs':    1'021             2         10         3'040          4             12         37       3'345          307        484        0           0          0     44'403     10'500

Lp stats                  Component  Iterations  AddedCuts  OPTIMAL  DUAL_F.  DUAL_U.
           'default_lp':          1     888'049      9'129   24'113       16      479
       'lb_tree_search':          1     244'830      6'694    2'240      716        0
               'max_lp':          1     664'085      8'409   15'858    2'993      303
  'objective_lb_search':          1     722'132      7'331   10'736       35       80
              'probing':          1     328'438      5'940    1'627      127        2
         'pseudo_costs':          1     829'255      7'906   20'816    4'275      329
        'quick_restart':          1     538'200      7'509    9'582       44       74
        'reduced_costs':          1     994'818      7'404   19'219    5'429      404

Lp dimension                   Final dimension of first component
           'default_lp':   1702 rows, 1119 columns, 37473 entries
       'lb_tree_search':  2280 rows, 1192 columns, 102264 entries
               'max_lp':   1340 rows, 1192 columns, 32006 entries
  'objective_lb_search':   1519 rows, 1119 columns, 37317 entries
              'probing':   1600 rows, 1119 columns, 37096 entries
         'pseudo_costs':   1369 rows, 1192 columns, 29474 entries
        'quick_restart':   1683 rows, 1119 columns, 49916 entries
        'reduced_costs':   1041 rows, 1192 columns, 17776 entries

Lp debug                  CutPropag  CutEqPropag  Adjust  Overflow      Bad  BadScaling
           'default_lp':          0           10  24'559         0  180'221           0
       'lb_tree_search':          0            4   2'956         0  729'574           0
               'max_lp':          0           36  19'131         0  325'119           0
  'objective_lb_search':          0           31  10'832         0  281'570           0
              'probing':          0            5   1'747         0  848'815           0
         'pseudo_costs':          0           66  25'387         0  273'307           0
        'quick_restart':          0           22   9'687         0  333'083           0
        'reduced_costs':          0            4  24'994         0  314'869           0

Lp pool                   Constraints  Updates  Simplif  Merged  Shortened  Split  Strengthened     Cuts/Call
           'default_lp':       11'079    1'540   37'549       1     19'960  3'689           459  9'129/25'013
       'lb_tree_search':        8'940    5'582   34'999       0     22'123  7'676           187  6'694/12'691
               'max_lp':       10'655    2'964   42'426       0     24'709  7'541           293  8'409/20'873
  'objective_lb_search':        9'282    1'694   36'371       0     19'714  4'494           265  7'331/15'925
              'probing':        7'891    3'424   11'724       0      7'968  6'765           250  5'940/10'255
         'pseudo_costs':       10'152    2'158   42'232       0     20'174  5'506           288  7'906/20'908
        'quick_restart':        9'460    2'026   41'453       0     22'770  5'793           337  7'509/17'126
        'reduced_costs':        9'650    2'350   48'497       0     27'750  6'001           350  7'404/17'439

Lp Cut            reduced_costs  max_lp  quick_restart  pseudo_costs  probing  lb_tree_search  objective_lb_search  default_lp
          CG_FF:             64      27              7            32       16               4                   22          80
           CG_K:             38      17              3            16        5               2                   11          55
          CG_KL:              7       2              -             1        2               -                    6          10
           CG_R:             76      40             18            52       13               8                   35          93
          CG_RB:            116      66             46           125       37              28                   75         146
         CG_RBP:             45      32             14            39       18              11                   26          65
         Clique:              5       4              -             4        -               1                    -           -
             IB:          1'434   1'236          1'173         1'697    1'045             349                1'124       1'773
       MIR_1_FF:            290     343            351           374      436             249                  464         486
        MIR_1_K:             43      85            107            97      149              19                   85         144
       MIR_1_KL:             28      38             47            34       60              24                   38          65
        MIR_1_R:             38       9              9            15        6              31                    8          14
       MIR_1_RB:            129     154            133           176      148              82                  191         232
      MIR_1_RBP:            183     213            396           136      376             494                  231         243
      MIR_1_RLT:              2       3              -             3        -               -                    -           -
       MIR_2_FF:            419     387            322           348      270             236                  307         592
        MIR_2_K:            100     181            162           127      110              83                  159         214
       MIR_2_KL:             37      36             26            36       43              30                   25          33
        MIR_2_R:            119      35             29            41       15              18                   29          41
       MIR_2_RB:            355     260            159           268      211             135                  217         258
      MIR_2_RBP:            233     213            226           342      194             176                  254         238
       MIR_3_FF:            335     315            256           322      169             290                  212         285
        MIR_3_K:             62     260            299           185       95             194                  240         195
       MIR_3_KL:             27      19              7            20       22              25                   17          16
        MIR_3_R:             73      32             14            47       10              16                   17          30
       MIR_3_RB:            293     234            118           241      140             140                  148         197
      MIR_3_RBP:            155     267            387           270      198             298                  348         236
       MIR_4_FF:            242     246            209           252      155             212                  174         202
        MIR_4_K:             50     277            246           208       68             232                  245         221
       MIR_4_KL:             17      15             13            12       11              12                   13          20
        MIR_4_R:             60      22              6            26        9               7                   13          19
       MIR_4_RB:            206     133             63           132       80              90                  101         127
      MIR_4_RBP:            125     336            355           238      113             362                  342         237
       MIR_5_FF:            183     167            152           199      110             183                  109         140
        MIR_5_K:             43     219            189           127       51             229                  173         155
       MIR_5_KL:             26      26             14            29       30              30                   11          25
        MIR_5_R:             31      26              6            19        3              14                    3          14
       MIR_5_RB:            131     106             37            77       46              70                   50          95
      MIR_5_RBP:            108     280            304           173      106             372                  297         226
       MIR_6_FF:            123     112            103           113       85             114                   67         109
        MIR_6_K:             57     177            132            98       47             172                  163         116
       MIR_6_KL:             51      50             24            37       42              44                   34          33
        MIR_6_R:             24      23              3            22        4               8                    3          17
       MIR_6_RB:            115      88             22            73       24              40                   27          71
      MIR_6_RBP:            153     291            229           172      152             373                  270         168
   ZERO_HALF_FF:             69      29             19            34       16               8                   34          50
    ZERO_HALF_K:             14       6              5             6        5               1                    5          12
   ZERO_HALF_KL:              3       2              2             1        5               1                    3           5
    ZERO_HALF_R:            716   1'002            832           673      781             890                  766       1'109
   ZERO_HALF_RB:            105     169            138           104      135             192                   75         137
  ZERO_HALF_RBP:             46      99             97            33       74              95                   64          80

LNS stats           Improv/Calls  Closed  Difficulty  TimeLimit
  'graph_arc_lns':        46/575     50%    4.73e-01       0.12
  'graph_cst_lns':        50/526     50%    6.90e-01       0.11
  'graph_dec_lns':        56/529     50%    8.46e-01       0.10
  'graph_var_lns':        40/559     50%    7.11e-01       0.11
   'lb_relax_lns':        44/128     50%    5.23e-01       0.52
      'rins/rens':       428/581     50%    5.98e-01       0.10
    'rnd_cst_lns':        58/509     51%    8.38e-01       0.10
    'rnd_var_lns':        69/527     50%    8.26e-01       0.10

LS stats                                    Batches  Restarts/Perturbs   LinMoves   GenMoves  CompoundMoves  Bactracks  WeightUpdates  ScoreComputed
                         'ls_lin_restart':      154                 40  2'321'739          0              0          0        718'993     85'810'415
                'ls_lin_restart_compound':       71                 31          0  1'514'814         95'937    709'352          5'862     33'253'656
        'ls_lin_restart_compound_perturb':      100                 33          0  2'088'953        126'189    981'200          6'544     46'652'738
                   'ls_lin_restart_decay':       86                 31  1'648'556          0              0          0         36'697     32'476'502
          'ls_lin_restart_decay_compound':       57                 26          0  1'054'107        151'292    451'265          1'063     27'209'780
  'ls_lin_restart_decay_compound_perturb':       74                 28          0  1'369'772        193'954    587'703          1'351     36'158'430
           'ls_lin_restart_decay_perturb':       73                 24  1'408'767          0              0          0         31'206     27'636'025
                 'ls_lin_restart_perturb':       76                 25  1'233'113          0              0          0        877'012     38'027'863
                             'ls_restart':       80                 34  1'203'382          0              0          0        410'764     40'646'640
                    'ls_restart_compound':       81                 37          0  1'712'326        117'289    797'356          6'934     37'950'938
            'ls_restart_compound_perturb':      123                 36          0  2'657'111        142'103  1'257'316          8'195     58'089'622
                       'ls_restart_decay':       94                 29  1'782'496          0              0          0         39'217     34'948'654
              'ls_restart_decay_compound':       60                 26          0  1'088'437        157'263    465'471          1'074     29'324'449
      'ls_restart_decay_compound_perturb':       87                 25          0  1'658'378        220'319    718'846          1'289     42'563'445
               'ls_restart_decay_perturb':      108                 25  2'065'370          0              0          0         44'989     40'027'275
                     'ls_restart_perturb':       47                 23    734'096          0              0          0        237'236     25'294'472

Solutions (5)             Num   Rank
        'complete_hint':    2  [0,1]
   'lb_relax_lns_int_h':    2  [4,5]
                'no_lp':    2  [1,2]
  'quick_restart_no_lp':    2  [2,3]
          'rins_lp_lns':    2  [3,4]

Objective bounds          Num
         'am1_presolve':    1
       'initial_domain':    1
       'lb_tree_search':  233
               'max_lp':    8
  'objective_lb_search':    2
              'probing':   19
        'quick_restart':    1
        'reduced_costs':    1

Solution repositories    Added  Queried  Synchro
    'alternative_path':    430    2'410      430
      'best_solutions':  1'840    2'546      992
   'fj solution hints':      0        0        0
        'lp solutions':    721      354      676
                'pump':  1'418      287

Improving bounds shared    Num  Sym
            'default_lp':    6    0
        'lb_tree_search':  104    0
                'max_lp':   67    0
   'objective_lb_search':    4    0
               'probing':   25    0
          'pseudo_costs':   13    0
         'quick_restart':   11    0
   'quick_restart_no_lp':   37    0
         'reduced_costs':   10    0

Clauses shared            #Exported  #Imported  #BinaryRead  #BinaryTotal
                 'core':      1'229     13'243        4'000         4'119
           'default_lp':        219     13'912        4'032         4'119
       'lb_tree_search':        165     13'605        3'882         4'119
               'max_lp':        329     13'746        4'000         4'119
                'no_lp':     11'848      3'783        4'032         4'119
  'objective_lb_search':        230     13'892        4'001         4'119
              'probing':      3'966     10'311        2'911         4'119
         'pseudo_costs':        263     13'878        4'000         4'119
        'quick_restart':        310     13'642        4'000         4'119
  'quick_restart_no_lp':      2'768     11'687        4'032         4'119
        'reduced_costs':        286     13'265        3'848         4'119

LRAT_status: NA
[Scaling] scaled_objective_bound: 132614 corrected_bound: 132614 delta: 3.24857e-07
CpSolverResponse summary:
status: FEASIBLE
objective: 134786.7922581253
best_bound: 132613.5279305745
integers: 0
booleans: 0
conflicts: 0
branches: 0
propagations: 0
integer_propagations: 0
restarts: 0
lp_iterations: 0
walltime: 300.084
usertime: 300.084
deterministic_time: 2278.71
gap_integral: 17598
solution_fingerprint: 0x8de4169e43eb94c3

[26]:
SolutionInfo(runtime=300.091792, bound=132613.52793057455, objective=134786.7922581253, relgap=0.01612371873490992, termination='FEASIBLE')
[27]:
S_irr, G_irr = solver.get_solution()
[28]:
assign_cables(G_irr, cables)
G_irr.size(weight='cost')
[28]:
43091183.191651106
[29]:
svgplot(G_irr)
[29]:
../_images/notebooks_04-IEA_Wind_740-10-MW_Reference_Offshore_Wind_Plants_38_0.svg

Layouts’ edge list

These lists of 3-tuples have all the edges and their cable type (as an index to the turbines_per_cable list), i.e. (coordinate_A, coordinate_B, cable_type).

Negative node indices represent substations, the node indices ranging from 0 to 73 represent the WT in the order they were given.

If the layout has contours or detours, indices will go beyond the number of coordinates (WT, SS, borders) provided, and the mapping of these additional indices to indices to the provided coordinates is presented.

[30]:
G_reg.edges(data='cable')
[30]:
EdgeDataView([(-1, 47, 2), (-1, 56, 2), (-1, 46, 2), (-1, 33, 2), (-1, 45, 2), (-1, 57, 2), (-1, 34, 2), (-1, 24, 2), (-1, 49, 2), (-1, 58, 2), (-1, 32, 2), (0, 1, 0), (1, 4, 0), (4, 5, 0), (2, 3, 0), (3, 8, 0), (8, 14, 0), (5, 9, 1), (9, 15, 1), (6, 7, 0), (7, 12, 0), (12, 13, 0), (14, 22, 1), (15, 24, 2), (10, 11, 0), (11, 16, 0), (16, 17, 0), (13, 20, 1), (20, 21, 1), (22, 23, 1), (17, 26, 1), (26, 25, 1), (18, 19, 0), (19, 28, 0), (28, 27, 0), (21, 32, 2), (23, 33, 2), (25, 34, 2), (27, 36, 1), (36, 35, 1), (29, 38, 0), (29, 40, 0), (38, 37, 0), (30, 31, 0), (31, 44, 0), (31, 42, 0), (44, 45, 1), (44, 43, 0), (35, 46, 2), (37, 48, 1), (48, 47, 1), (39, 50, 1), (39, 52, 1), (50, 49, 2), (41, 52, 0), (41, 54, 0), (51, 62, 0), (51, 60, 1), (60, 59, 1), (53, 62, 0), (53, 64, 0), (61, 70, 0), (61, 69, 0), (69, 68, 1), (63, 70, 0), (54, 55, 0), (65, 66, 1), (65, 80, 1), (56, 80, 1), (67, 68, 1), (67, 57, 2), (59, 58, 2), (66, 71, 0), (66, 73, 0), (71, 72, 0)])

Mapping of contour/detour nodes to the index of their VertexC coordinate:

[31]:
if G_reg.graph.get('C') or G_reg.graph.get('D'):
    R, T, B = (G_reg.graph[k] for k in 'RTB')
    print(dict(enumerate(
        (n.item() for n in G_reg.graph['fnT'][T + B:-R]),
        start=T + B
    )))
{80: 76}
[32]:
G_irr.edges(data='cable')
[32]:
EdgeDataView([(-1, 41, 2), (-1, 28, 2), (-1, 49, 2), (-1, 55, 1), (-1, 39, 2), (-1, 60, 2), (-1, 70, 2), (-1, 25, 2), (-1, 33, 2), (-1, 80, 2), (-1, 81, 2), (0, 50, 0), (50, 46, 0), (1, 34, 0), (34, 20, 0), (2, 8, 1), (2, 7, 0), (8, 42, 1), (3, 12, 1), (3, 15, 0), (12, 45, 1), (4, 20, 0), (20, 37, 1), (5, 9, 0), (5, 32, 0), (32, 14, 1), (6, 35, 0), (35, 36, 0), (42, 25, 2), (10, 24, 0), (24, 17, 0), (11, 18, 0), (18, 59, 0), (45, 33, 2), (13, 26, 0), (26, 31, 0), (14, 68, 1), (68, 73, 2), (16, 29, 1), (16, 17, 0), (29, 53, 1), (59, 60, 2), (59, 52, 0), (37, 51, 1), (22, 44, 1), (22, 67, 1), (67, 70, 2), (23, 43, 0), (43, 7, 0), (31, 56, 0), (27, 52, 0), (27, 38, 0), (53, 28, 2), (30, 54, 1), (30, 56, 1), (54, 49, 2), (36, 62, 0), (62, 69, 1), (51, 41, 2), (40, 55, 0), (40, 57, 0), (47, 65, 0), (65, 58, 0), (65, 48, 0), (58, 61, 1), (61, 64, 1), (64, 71, 2), (69, 63, 1), (71, 81, 2), (73, 80, 2), (15, 21, 0), (9, 19, 0), (21, 66, 0), (44, 46, 0), (63, 39, 2), (57, 72, 0)])

Mapping of contour/detour nodes to the index of their VertexC coordinate:

[33]:
if G_irr.graph.get('C') or G_irr.graph.get('D'):
    R, T, B = (G_irr.graph[k] for k in 'RTB')
    print(dict(enumerate(
        (n.item() for n in G_irr.graph['fnT'][T + B:-R]),
        start=T + B
    )))
{80: 28, 81: 76}