{
"cells": [
{
"cell_type": "markdown",
"id": "8d434457-7996-4b76-a773-c2f77d63ff0b",
"metadata": {},
"source": [
"# Quickstart"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "2f1ecb89-84e4-4316-9db9-dbaf5b282bf0",
"metadata": {},
"outputs": [],
"source": [
"from optiwindnet.importer import load_repository\n",
"from optiwindnet.svg import svgplot\n",
"from optiwindnet.interarraylib import G_from_S\n",
"from optiwindnet.mesh import make_planar_embedding\n",
"from optiwindnet.pathfinding import PathFinder"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "1f2d7a49-6c57-49e9-bb85-cad2eb08d350",
"metadata": {},
"outputs": [],
"source": [
"locations = load_repository()"
]
},
{
"cell_type": "markdown",
"id": "1868a624-209c-4897-9762-1262a4a097bc",
"metadata": {},
"source": [
"## Quickest (sub-second)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "b6a65515-8573-4fb7-9f14-f741d78eb361",
"metadata": {},
"outputs": [],
"source": [
"from optiwindnet.heuristics import constructor"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "e4218728-24ee-4e12-a597-0aff167ce84d",
"metadata": {},
"outputs": [],
"source": [
"L = locations.doggerA"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "db91b101-c598-4a53-859d-d2bd540c1bef",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"12.5 ms ± 233 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
],
"source": [
"%%timeit\n",
"P, A = make_planar_embedding(L)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "0d340d87-76a2-4537-8267-a5ae267b3ac2",
"metadata": {},
"outputs": [],
"source": [
"P, A = make_planar_embedding(L)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "842e6996-49a7-4354-b28a-c3c042b5a6a3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"6.58 ms ± 163 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
],
"source": [
"%%timeit\n",
"S_pre = constructor(A, capacity=8)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "db7316e3-173f-4f5f-9418-b2cf07ddcd5a",
"metadata": {},
"outputs": [],
"source": [
"S_pre = constructor(A, capacity=8)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "f5a054d7-8755-4fa2-9243-1a42c3c31c6c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"23.2 ms ± 264 μs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
]
}
],
"source": [
"%%timeit\n",
"G_tentative = G_from_S(S_pre, A)\n",
"G_pre = PathFinder(G_tentative, planar=P, A=A).create_detours()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "a5dbd69a-16dc-48b0-b927-84b2a9bf567b",
"metadata": {},
"outputs": [],
"source": [
"G_tentative = G_from_S(S_pre, A)\n",
"G_pre = PathFinder(G_tentative, planar=P, A=A).create_detours()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "a379f37d-9778-421b-a2c1-6f1bab4d3821",
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
""
],
"text/plain": [
""
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"svgplot(G_pre)"
]
},
{
"cell_type": "markdown",
"id": "fe9ac6af-923b-42aa-9ef0-90b1931c89d8",
"metadata": {},
"source": [
"## Quick (radial only, a second or two)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "9f143635-93f2-4acb-910b-4e2a4394693e",
"metadata": {},
"outputs": [],
"source": [
"from optiwindnet.baselines.hgs import hgs_cvrp\n",
"from optiwindnet.interarraylib import as_normalized"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "df6a5304-9dec-4981-91f4-aeabaf7e0600",
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
""
],
"text/plain": [
""
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"L = locations.doggerA\n",
"P, A = make_planar_embedding(L)\n",
"S_hgs = hgs_cvrp(as_normalized(A), capacity=8, time_limit=2)\n",
"G_tentative = G_from_S(S_hgs, A)\n",
"G_hgs = PathFinder(G_tentative, planar=P, A=A).create_detours()\n",
"svgplot(G_hgs)"
]
},
{
"cell_type": "markdown",
"id": "bdd24d65-4be1-451e-a129-9f72ad873fc8",
"metadata": {},
"source": [
"## With quality assurance (a few minutes)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "edc931f3-8beb-4d41-98e9-ec6af1701060",
"metadata": {},
"outputs": [],
"source": [
"from optiwindnet.MILP import solver_factory, ModelOptions"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "60446165-4fba-47a2-ab56-c5154cfa3b10",
"metadata": {},
"outputs": [],
"source": [
"solver = solver_factory('ortools.cp_sat')"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "7db52bea-e902-4633-9783-dfa0b2df5268",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"topology in {\"radial\", \"branched\"} default: branched\n",
" Set the topology of subtrees in the solution.\n",
"\n",
"feeder_route in {\"straight\", \"segmented\"} default: segmented\n",
" If feeder routes must be \"straight\" or can be detoured (\"segmented\").\n",
"\n",
"feeder_limit in {\"unlimited\", \"specified\", \"minimum\", \"min_plus1\", \"min_plus2\", \"min_plus3\"} default: unlimited\n",
" Whether to limit the maximum number of feeders, if set to \"specified\", additional kwarg \"max_feeders\" must be given.\n",
"\n",
"balanced [bool] default: False\n",
" Whether to enforce balanced subtrees (subtree loads differ at most by one unit).\n",
"\n",
"max_feeders [int] default: 0\n",
" Maximum number of feeders (used only if )\n",
"\n"
]
}
],
"source": [
"ModelOptions.help()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "64e22c2f-1339-48b6-86a8-635874e8b382",
"metadata": {},
"outputs": [],
"source": [
"solver.set_problem(\n",
" P, A, S_hgs.graph['capacity'], ModelOptions(\n",
" topology='branched',\n",
" feeder_route='segmented',\n",
" feeder_limit='unlimited'\n",
" ), warmstart=S_hgs\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "70aefef1-25ed-4011-bdf0-e335e5f76ba5",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"IntegerBoundsPreprocessor 2613 rows, 1690 columns, 9531 entries with magnitude in [1.000000e+00, 8.000000e+00]\n",
"BoundPropagationPreprocessor 2613 rows, 1690 columns, 9531 entries with magnitude in [1.000000e+00, 8.000000e+00]\n",
"ImpliedIntegerPreprocessor 2613 rows, 1690 columns, 9531 entries with magnitude in [1.000000e+00, 8.000000e+00]\n",
"IntegerBoundsPreprocessor 2613 rows, 1690 columns, 9531 entries with magnitude in [1.000000e+00, 8.000000e+00]\n",
"ReduceCostOverExclusiveOrConstraintPreprocessor 2613 rows, 1690 columns, 9531 entries with magnitude in [1.000000e+00, 8.000000e+00]\n",
"\n",
"Scaling to pure integer problem.\n",
"Num integers: 1690/1690 (implied: 0 in_inequalities: 0 max_scaling: 0) [IP] \n",
"Maximum constraint coefficient relative error: 0\n",
"Maximum constraint worst-case activity error: 0\n",
"Constraint scaling factor range: [1, 1]\n",
"\n",
"Starting CP-SAT solver v9.15.6755\n",
"Parameters: max_time_in_seconds: 40 log_search_progress: true catch_sigint_signal: false relative_gap_limit: 0.005 log_to_stdout: false\n",
"Setting number of workers to 16\n",
"\n",
"Initial optimization model 'optiwindnet': (model_fingerprint: 0x442ff0674372f1a5)\n",
"#Variables: 1'690 (#bools: 750 in floating point objective) (1'500 primary variables)\n",
" - 845 Booleans in [0,1]\n",
" - 750 in [0,7]\n",
" - 95 in [0,8]\n",
"#kLinear2: 2'065\n",
"#kLinear3: 4\n",
"#kLinearN: 544 (#terms: 5'389)\n",
"\n",
"Starting presolve at 0.00s\n",
"The solution hint is complete and is feasible.\n",
"[Scaling] Floating point objective has 750 terms with magnitude in [0.00903211, 21204.4] average = 3140.28\n",
"[Scaling] Objective coefficient relative error: 1.87515e-05\n",
"[Scaling] Objective worst-case absolute error: 9.16404e-05\n",
"[Scaling] Objective scaling factor: 1.04858e+06\n",
" 4.13e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 9.67e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=2 #num_dual_strengthening=1 \n",
" 2.84e-05s 0.00e+00d [ExtractEncodingFromLinear] #potential_supersets=355 \n",
" 2.05e-04s 0.00e+00d [DetectDuplicateColumns] \n",
" 1.53e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
"[Symmetry] Graph for symmetry has 6'368 nodes and 11'971 arcs.\n",
"[Symmetry] Symmetry computation done. time: 0.00116047 dtime: 0.00116108\n",
"[SAT presolve] num removable Booleans: 0 / 845\n",
"[SAT presolve] num trivial clauses: 0\n",
"[SAT presolve] [0s] clauses:375 literals:750 vars:750 one_side_vars:750 simple_definition:0 singleton_clauses:0\n",
"[SAT presolve] [3.3386e-05s] clauses:375 literals:750 vars:750 one_side_vars:750 simple_definition:0 singleton_clauses:0\n",
"[SAT presolve] [5.0786e-05s] clauses:375 literals:750 vars:750 one_side_vars:750 simple_definition:0 singleton_clauses:0\n",
" 1.62e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 1.73e-02s 1.04e-02d [Probe] #probed=3'380 #new_binary_clauses=845 \n",
" 3.63e-04s 5.46e-04d [MaxClique] Merged 635 constraints with 1'926 literals into 330 constraints with 1'316 literals\n",
" 3.61e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 3.27e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 1.18e-03s 0.00e+00d [ProcessAtMostOneAndLinear] #num_changes=845 \n",
" 1.54e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
" 1.44e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 2.41e-04s 1.46e-05d [DetectDominatedLinearConstraints] #relevant_constraints=193 #num_inclusions=96 \n",
" 2.33e-05s 0.00e+00d [DetectDifferentVariables] \n",
" 3.09e-03s 3.73e-04d [ProcessSetPPC] #relevant_constraints=427 #num_inclusions=425 \n",
" 1.28e-04s 0.00e+00d [TransformClausesToExactlyOne] #num_amos=330 \n",
" 5.03e-04s 0.00e+00d [DetectEncodedComplexDomains] \n",
" 3.18e-05s 0.00e+00d [FindAlmostIdenticalLinearConstraints] \n",
" 5.41e-04s 2.83e-04d [FindBigAtMostOneAndLinearOverlap] \n",
" 1.80e-04s 3.25e-04d [FindBigVerticalLinearOverlap] \n",
" 2.60e-05s 1.24e-05d [FindBigHorizontalLinearOverlap] #linears=179 \n",
" 1.28e-05s 0.00e+00d [MergeClauses] \n",
" 3.72e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 5.54e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=2 #num_dual_strengthening=1 \n",
" 3.40e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 2.74e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 8.79e-05s 0.00e+00d [DetectDuplicateColumns] \n",
" 1.46e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
"[Symmetry] Graph for symmetry has 5'717 nodes and 9'866 arcs.\n",
"[Symmetry] Symmetry computation done. time: 0.000362758 dtime: 0.00104477\n",
"[SAT presolve] num removable Booleans: 0 / 845\n",
"[SAT presolve] num trivial clauses: 0\n",
"[SAT presolve] [0s] clauses:70 literals:140 vars:140 one_side_vars:140 simple_definition:0 singleton_clauses:0\n",
"[SAT presolve] [2.0859e-05s] clauses:70 literals:140 vars:140 one_side_vars:140 simple_definition:0 singleton_clauses:0\n",
"[SAT presolve] [4.1935e-05s] clauses:70 literals:140 vars:140 one_side_vars:140 simple_definition:0 singleton_clauses:0\n",
" 1.58e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 7.19e-03s 3.44e-03d [Probe] #probed=1'690 \n",
" 2.70e-04s 3.69e-04d [MaxClique] \n",
" 3.86e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 2.83e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 1.55e-04s 0.00e+00d [ProcessAtMostOneAndLinear] \n",
" 1.63e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
" 1.42e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 2.07e-04s 1.10e-05d [DetectDominatedLinearConstraints] #relevant_constraints=192 #num_inclusions=95 \n",
" 2.18e-05s 0.00e+00d [DetectDifferentVariables] \n",
" 1.47e-04s 7.32e-06d [ProcessSetPPC] #relevant_constraints=426 \n",
" 1.34e-04s 0.00e+00d [TransformClausesToExactlyOne] #num_amos=330 \n",
" 5.30e-04s 0.00e+00d [DetectEncodedComplexDomains] \n",
" 2.55e-05s 0.00e+00d [FindAlmostIdenticalLinearConstraints] \n",
" 2.40e-04s 2.79e-04d [FindBigAtMostOneAndLinearOverlap] \n",
" 1.67e-04s 3.25e-04d [FindBigVerticalLinearOverlap] \n",
" 2.38e-05s 1.24e-05d [FindBigHorizontalLinearOverlap] #linears=179 \n",
" 1.79e-05s 0.00e+00d [MergeClauses] \n",
" 3.33e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 2.74e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 4.60e-06s 0.00e+00d [MergeNoOverlap] \n",
" 5.10e-06s 0.00e+00d [MergeNoOverlap2D] \n",
" 2.61e-04s 0.00e+00d [ExpandObjective] #entries=7'754 #tight_variables=845 #tight_constraints=95 \n",
"\n",
"Presolve summary:\n",
" - 0 affine relations were detected.\n",
" - rule 'TODO linear inclusion: superset is equality' was applied 191 times.\n",
" - rule 'TODO linear2: convert ax + by != cte to clauses for large domains' was applied 5'070 times.\n",
" - rule 'at_most_one: transformed into max clique' was applied 1 time.\n",
" - rule 'bool_or: implications' was applied 375 times.\n",
" - rule 'deductions: 1690 stored' was applied 1 time.\n",
" - rule 'linear + amo: extracted enforcement literal' was applied 845 times.\n",
" - rule 'linear2: contains a boolean' was applied 845 times.\n",
" - rule 'linear2: convert ax + by != cte to clauses' was applied 375 times.\n",
" - rule 'linear: positive at most one' was applied 260 times.\n",
" - rule 'linear: positive equal one' was applied 95 times.\n",
" - rule 'objective: shifted cost with exactly ones' was applied 95 times.\n",
" - rule 'presolve: 0 unused variables removed.' was applied 1 time.\n",
" - rule 'presolve: iteration' was applied 2 times.\n",
" - rule 'setppc: exactly_one included in linear' was applied 95 times.\n",
" - rule 'setppc: reduced linear coefficients' was applied 94 times.\n",
" - rule 'setppc: removed trivial linear constraint' was applied 1 time.\n",
" - rule 'variables: detect fully reified value encoding' was applied 845 times.\n",
" - rule 'variables: detect half reified value encoding' was applied 1'690 times.\n",
"\n",
"Presolved optimization model 'optiwindnet': (model_fingerprint: 0x1b4a1e812e9798b2)\n",
"#Variables: 1'690 (#bools: 750 in objective) (1'500 primary variables)\n",
" - 845 Booleans in [0,1]\n",
" - 750 in [0,7]\n",
" - 95 in [0,8]\n",
"#kAtMostOne: 260 (#literals: 1'176)\n",
"#kBoolAnd: 70 (#enforced: 70) (#literals: 140)\n",
"#kExactlyOne: 95 (#literals: 845)\n",
"#kLinear1: 1'690 (#enforced: 1'690)\n",
"#kLinear3: 4\n",
"#kLinearN: 188 (#terms: 2'523)\n",
"[Symmetry] Graph for symmetry has 5'717 nodes and 9'866 arcs.\n",
"[Symmetry] Symmetry computation done. time: 0.000573017 dtime: 0.00104354\n",
"\n",
"Preloading model.\n",
"#Bound 0.07s best:inf next:[160817.074,2309766.32] initial_domain\n",
"#1 0.07s best:242931.791 next:[160817.074,242931.791] complete_hint\n",
"#Model 0.07s var:1690/1690 constraints:2307/2307\n",
"\n",
"Starting search at 0.07s with 16 workers.\n",
"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]\n",
"5 first solution subsolvers: [fj(2), fs_random, fs_random_no_lp, fs_random_quick_restart_no_lp]\n",
"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]\n",
"3 helper subsolvers: [neighborhood_helper, synchronization_agent, update_gap_integral]\n",
"\n",
"#2 0.10s best:242523.483 next:[160817.074,242523.483] graph_var_lns (d=5.00e-01 s=13 t=0.10 p=0.00 stall=0 h=base)\n",
"#Bound 0.10s best:242523.483 next:[162472.38,242523.483] am1_presolve (num_literals=750 num_am1=34 increase=1735714016 work_done=2720)\n",
"#3 0.11s best:242512.67 next:[162472.38,242512.67] graph_cst_lns (d=5.00e-01 s=15 t=0.10 p=0.00 stall=0 h=base) [combined with: graph_var_lns (d=5.0...]\n",
"#Bound 0.12s best:242512.67 next:[188354.862,242512.67] probing\n",
"#Bound 0.12s best:242512.67 next:[189781.728,242512.67] pseudo_costs\n",
"#4 0.16s best:242488.504 next:[189781.728,242488.504] quick_restart_no_lp (fixed_bools=0/868)\n",
"#Bound 0.17s best:242488.504 next:[223973.897,242488.504] lb_tree_search\n",
"#5 0.24s best:242487.87 next:[223973.897,242487.87] quick_restart_no_lp (fixed_bools=0/906)\n",
"#Bound 0.30s best:242487.87 next:[225201.873,242487.87] lb_tree_search\n",
"#Bound 0.31s best:242487.87 next:[225413.966,242487.87] max_lp\n",
"#6 0.34s best:242310.843 next:[225413.966,242310.843] rnd_cst_lns (d=7.07e-01 s=24 t=0.10 p=1.00 stall=1 h=base)\n",
"#7 0.46s best:242310.208 next:[225413.966,242310.208] quick_restart_no_lp (fixed_bools=0/906)\n",
"#Bound 0.80s best:242310.208 next:[225975.405,242310.208] lb_tree_search\n",
"#Bound 0.84s best:242310.208 next:[226137.83,242310.208] max_lp\n",
"#Bound 0.94s best:242310.208 next:[226569.778,242310.208] lb_tree_search\n",
"#Bound 0.99s best:242310.208 next:[226570.47,242310.208] lb_tree_search (nodes=1/1 rc=0 decisions=29 @root=2 restarts=0 lp_iters=[0, 0, 86, 1]) \n",
"#Bound 1.06s best:242310.208 next:[226781.811,242310.208] max_lp\n",
"#Bound 1.24s best:242310.208 next:[226963.029,242310.208] lb_tree_search\n",
"#Bound 1.28s best:242310.208 next:[226985.949,242310.208] lb_tree_search (nodes=3/3 rc=0 decisions=34 @root=4 restarts=0 lp_iters=[0, 0, 210, 41]) \n",
"#Bound 1.31s best:242310.208 next:[227080.328,242310.208] max_lp\n",
"#Bound 1.33s best:242310.208 next:[227233.462,242310.208] lb_tree_search\n",
"#Bound 1.35s best:242310.208 next:[227237.809,242310.208] lb_tree_search\n",
"#Bound 1.40s best:242310.208 next:[227453.066,242310.208] max_lp\n",
"#Bound 1.69s best:242310.208 next:[227655.287,242310.208] lb_tree_search\n",
"#Bound 1.73s best:242310.208 next:[227683.664,242310.208] lb_tree_search (nodes=3/3 rc=0 decisions=40 @root=7 restarts=0 lp_iters=[0, 0, 536, 41]) \n",
"#Bound 1.80s best:242310.208 next:[227838.009,242310.208] lb_tree_search\n",
"#8 1.83s best:241477.127 next:[227838.009,241477.127] quick_restart_no_lp (fixed_bools=0/954)\n",
"#9 1.88s best:240715.16 next:[227838.009,240715.16] lb_relax_lns_bool_h (d=5.00e-01 s=36 t=0.50 p=0.00 stall=0 h=base)\n",
"#Bound 2.54s best:240715.16 next:[228039.685,240715.16] lb_tree_search\n",
"#Bound 2.56s best:240715.16 next:[228039.687,240715.16] lb_tree_search\n",
"#Bound 3.50s best:240715.16 next:[228247.949,240715.16] lb_tree_search\n",
"#Bound 3.52s best:240715.16 next:[228249.504,240715.16] lb_tree_search [skipped_logs=0]\n",
"#Bound 4.59s best:240715.16 next:[228425.786,240715.16] lb_tree_search (nodes=3/3 rc=0 decisions=48 @root=13 restarts=0 lp_iters=[0, 0, 1'015, 41]) [skipped_logs=1]\n",
"#Bound 5.54s best:240715.16 next:[228532.802,240715.16] lb_tree_search [skipped_logs=0]\n",
"#Bound 6.60s best:240715.16 next:[228743.177,240715.16] lb_tree_search [skipped_logs=0]\n",
"#Bound 8.03s best:240715.16 next:[228920.78,240715.16] lb_tree_search (nodes=3/3 rc=0 decisions=60 @root=20 restarts=0 lp_iters=[0, 0, 1'785, 41]) [skipped_logs=1]\n",
"#Bound 9.22s best:240715.16 next:[229133.827,240715.16] lb_tree_search\n",
"#Bound 9.97s best:240715.16 next:[229287.595,240715.16] lb_tree_search (nodes=5/5 rc=0 decisions=78 @root=22 restarts=0 lp_iters=[0, 0, 3'131, 186]) [skipped_logs=8]\n",
"#Bound 10.09s best:240715.16 next:[229292.614,240715.16] lb_tree_search (nodes=6/6 rc=0 decisions=83 @root=22 restarts=0 lp_iters=[0, 0, 3'413, 243]) [skipped_logs=1]\n",
"#Bound 12.02s best:240715.16 next:[229395.682,240715.16] lb_tree_search (nodes=6/6 rc=0 decisions=97 @root=23 restarts=0 lp_iters=[0, 0, 4'566, 243]) [skipped_logs=7]\n",
"#Bound 12.80s best:240715.16 next:[229433.71,240715.16] lb_tree_search (nodes=10/10 rc=0 decisions=121 @root=23 restarts=0 lp_iters=[0, 0, 6'301, 438]) [skipped_logs=7]\n",
"#Bound 13.98s best:240715.16 next:[229499.155,240715.16] lb_tree_search (nodes=12/12 rc=0 decisions=153 @root=23 restarts=0 lp_iters=[0, 0, 8'895, 480]) [skipped_logs=7]\n",
"#Bound 14.96s best:240715.16 next:[229534.89,240715.16] lb_tree_search (nodes=15/15 rc=0 decisions=178 @root=23 restarts=0 lp_iters=[0, 0, 11'255, 715]) [skipped_logs=5]\n",
"#Bound 15.89s best:240715.16 next:[229570.87,240715.16] lb_tree_search (nodes=18/18 rc=0 decisions=205 @root=23 restarts=0 lp_iters=[0, 0, 13'490, 959]) [skipped_logs=10]\n",
"#Bound 16.86s best:240715.16 next:[229579.054,240715.16] lb_tree_search (nodes=21/21 rc=0 decisions=233 @root=23 restarts=0 lp_iters=[0, 0, 15'830, 1'124]) [skipped_logs=6]\n",
"#Bound 17.92s best:240715.16 next:[229640.694,240715.16] lb_tree_search (nodes=25/25 rc=0 decisions=266 @root=23 restarts=0 lp_iters=[0, 0, 18'397, 1'393]) [skipped_logs=5]\n",
"#Bound 18.61s best:240715.16 next:[229649.515,240715.16] lb_tree_search (nodes=29/29 rc=2 decisions=286 @root=23 restarts=0 lp_iters=[0, 0, 19'883, 1'571]) [skipped_logs=4]\n",
"#Bound 19.93s best:240715.16 next:[229702.82,240715.16] lb_tree_search (nodes=32/32 rc=4 decisions=328 @root=23 restarts=0 lp_iters=[0, 0, 23'117, 1'741]) [skipped_logs=7]\n",
"#Bound 20.91s best:240715.16 next:[229724.747,240715.16] lb_tree_search (nodes=36/36 rc=4 decisions=369 @root=23 restarts=0 lp_iters=[0, 0, 26'109, 1'940]) [skipped_logs=5]\n",
"#Bound 21.95s best:240715.16 next:[229746.436,240715.16] lb_tree_search (nodes=42/42 rc=4 decisions=418 @root=23 restarts=0 lp_iters=[0, 0, 29'760, 2'198]) [skipped_logs=9]\n",
"#Bound 23.00s best:240715.16 next:[229759.907,240715.16] lb_tree_search (nodes=45/45 rc=4 decisions=468 @root=23 restarts=0 lp_iters=[0, 0, 33'048, 2'290]) [skipped_logs=7]\n",
"#Bound 23.90s best:240715.16 next:[229780.132,240715.16] lb_tree_search (nodes=50/50 rc=4 decisions=512 @root=23 restarts=0 lp_iters=[0, 0, 35'813, 2'432]) [skipped_logs=8]\n",
"#Bound 24.82s best:240715.16 next:[229784.9,240715.16] lb_tree_search (nodes=53/53 rc=5 decisions=564 @root=23 restarts=0 lp_iters=[0, 0, 38'995, 2'654]) [skipped_logs=4]\n",
"#Bound 25.82s best:240715.16 next:[229788.007,240715.16] lb_tree_search (nodes=55/55 rc=5 decisions=601 @root=23 restarts=0 lp_iters=[0, 0, 42'002, 2'759]) [skipped_logs=5]\n",
"#Bound 26.91s best:240715.16 next:[229798.68,240715.16] lb_tree_search (nodes=59/59 rc=5 decisions=644 @root=23 restarts=0 lp_iters=[0, 0, 45'790, 2'933]) [skipped_logs=6]\n",
"#Bound 28.07s best:240715.16 next:[229820.194,240715.16] lb_tree_search (nodes=64/64 rc=5 decisions=701 @root=23 restarts=0 lp_iters=[0, 0, 50'286, 3'149]) [skipped_logs=8]\n",
"#Bound 28.98s best:240715.16 next:[229830.927,240715.16] lb_tree_search (nodes=69/69 rc=6 decisions=755 @root=23 restarts=0 lp_iters=[0, 0, 53'408, 3'306]) [skipped_logs=9]\n",
"#Bound 29.98s best:240715.16 next:[229844.208,240715.16] lb_tree_search (nodes=73/73 rc=6 decisions=802 @root=23 restarts=0 lp_iters=[0, 0, 57'083, 3'447]) [skipped_logs=6]\n",
"#Bound 30.83s best:240715.16 next:[229852.318,240715.16] lb_tree_search (nodes=76/76 rc=6 decisions=846 @root=23 restarts=0 lp_iters=[0, 0, 60'075, 3'561]) [skipped_logs=5]\n",
"#Bound 32.02s best:240715.16 next:[229858.255,240715.16] lb_tree_search (nodes=81/81 rc=7 decisions=911 @root=23 restarts=0 lp_iters=[0, 0, 64'625, 3'663]) [skipped_logs=7]\n",
"#Bound 32.98s best:240715.16 next:[229862.891,240715.16] lb_tree_search (nodes=86/86 rc=8 decisions=966 @root=23 restarts=0 lp_iters=[0, 0, 68'240, 3'906]) [skipped_logs=6]\n",
"#Bound 33.42s best:240715.16 next:[229867.842,240715.16] lb_tree_search (nodes=88/88 rc=8 decisions=989 @root=23 restarts=0 lp_iters=[0, 0, 69'671, 3'997]) [skipped_logs=3]\n",
"\n",
"Task timing n [ min, max] avg dev time n [ min, max] avg dev dtime\n",
" 'core': 1 [ 39.97s, 39.97s] 39.97s 0.00ns 39.97s 2 [ 3.54ms, 23.98s] 11.99s 11.99s 23.98s\n",
" 'default_lp': 1 [ 39.93s, 39.93s] 39.93s 0.00ns 39.93s 2 [118.36ms, 17.02s] 8.57s 8.45s 17.14s\n",
" 'feasibility_pump': 186 [ 82.73us, 98.93ms] 3.36ms 7.05ms 625.87ms 184 [367.55us, 65.46ms] 739.80us 4.78ms 136.12ms\n",
" 'fj': 0 [ 0.00ns, 0.00ns] 0.00ns 0.00ns 0.00ns 0 [ 0.00ns, 0.00ns] 0.00ns 0.00ns 0.00ns\n",
" 'fj': 0 [ 0.00ns, 0.00ns] 0.00ns 0.00ns 0.00ns 0 [ 0.00ns, 0.00ns] 0.00ns 0.00ns 0.00ns\n",
" 'fs_random': 0 [ 0.00ns, 0.00ns] 0.00ns 0.00ns 0.00ns 0 [ 0.00ns, 0.00ns] 0.00ns 0.00ns 0.00ns\n",
" '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\n",
" '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\n",
" 'graph_arc_lns': 89 [ 8.40ms, 490.87ms] 218.18ms 166.23ms 19.42s 89 [908.00ns, 102.24ms] 56.40ms 46.89ms 5.02s\n",
" 'graph_cst_lns': 80 [ 5.96ms, 577.03ms] 242.31ms 183.71ms 19.38s 80 [ 10.00ns, 100.25ms] 54.84ms 46.10ms 4.39s\n",
" 'graph_dec_lns': 75 [ 1.65ms, 593.90ms] 265.37ms 192.64ms 19.90s 74 [ 10.00ns, 100.38ms] 58.00ms 45.98ms 4.29s\n",
" 'graph_var_lns': 84 [ 8.54ms, 477.07ms] 240.82ms 161.78ms 20.23s 84 [ 10.00ns, 102.21ms] 61.44ms 44.71ms 5.16s\n",
" 'lb_relax_lns': 16 [363.78ms, 2.37s] 1.45s 617.62ms 23.15s 16 [ 95.20ms, 588.77ms] 431.25ms 186.21ms 6.90s\n",
" 'lb_tree_search': 1 [ 39.92s, 39.92s] 39.92s 0.00ns 39.92s 2 [205.21ms, 19.73s] 9.97s 9.76s 19.93s\n",
" 'ls': 96 [163.43ms, 260.75ms] 194.03ms 18.56ms 18.63s 96 [100.00ms, 100.03ms] 100.01ms 6.43us 9.60s\n",
" 'ls_lin': 93 [ 90.65ms, 297.83ms] 199.76ms 26.80ms 18.58s 93 [ 49.96ms, 100.03ms] 99.48ms 5.16ms 9.25s\n",
" 'max_lp': 1 [ 39.95s, 39.95s] 39.95s 0.00ns 39.95s 2 [201.21ms, 14.87s] 7.53s 7.33s 15.07s\n",
" 'no_lp': 1 [ 39.92s, 39.92s] 39.92s 0.00ns 39.92s 2 [ 4.23ms, 13.17s] 6.59s 6.58s 13.17s\n",
" 'objective_lb_search': 1 [ 39.93s, 39.93s] 39.93s 0.00ns 39.93s 2 [122.40ms, 16.58s] 8.35s 8.23s 16.70s\n",
" 'probing': 1 [ 39.93s, 39.93s] 39.93s 0.00ns 39.93s 2 [125.66ms, 16.34s] 8.24s 8.11s 16.47s\n",
" 'pseudo_costs': 1 [ 39.92s, 39.92s] 39.92s 0.00ns 39.92s 2 [ 39.96ms, 14.09s] 7.07s 7.03s 14.13s\n",
" 'quick_restart': 1 [ 39.93s, 39.93s] 39.93s 0.00ns 39.93s 2 [124.58ms, 15.04s] 7.58s 7.46s 15.17s\n",
" 'quick_restart_no_lp': 1 [ 39.97s, 39.97s] 39.97s 0.00ns 39.97s 2 [ 4.23ms, 20.54s] 10.27s 10.27s 20.55s\n",
" 'reduced_costs': 1 [ 39.95s, 39.95s] 39.95s 0.00ns 39.95s 2 [ 48.55ms, 15.76s] 7.91s 7.86s 15.81s\n",
" 'rins/rens': 75 [ 2.22us, 576.72ms] 247.51ms 215.42ms 18.56s 59 [ 10.07us, 100.13ms] 64.76ms 44.67ms 3.82s\n",
" 'rnd_cst_lns': 75 [ 12.94ms, 664.11ms] 271.80ms 179.63ms 20.38s 75 [136.00ns, 102.17ms] 59.77ms 44.21ms 4.48s\n",
" 'rnd_var_lns': 68 [ 12.13ms, 566.34ms] 291.30ms 184.74ms 19.81s 68 [146.00ns, 100.27ms] 62.32ms 43.72ms 4.24s\n",
"\n",
"Search stats Bools Conflicts Branches Restarts BacktrackToRoot Backtrack BoolPropag IntegerPropag\n",
" 'core': 879 660'154 1'206'565 951 2'823 658'988 10'339'331 28'379'725\n",
" 'default_lp': 943 1'958 72'933 7 17'674 23'364 555'062 2'403'739\n",
" 'fs_random': 0 0 0 0 0 0 0 0\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0 0\n",
" 'fs_random_quick_restart_no_lp': 0 0 0 0 0 0 0 0\n",
" 'lb_tree_search': 845 79 97'683 0 36'436 40'736 441'162 1'864'164\n",
" 'max_lp': 845 1'419 90'960 9 23'891 28'981 527'301 2'742'464\n",
" 'no_lp': 845 391'459 693'170 779 53'300 455'277 27'797'059 80'919'525\n",
" 'objective_lb_search': 944 1'567 115'051 10 25'547 33'552 751'367 3'468'522\n",
" 'probing': 886 11 2'147 0 1'855 1'866 14'822 49'705\n",
" 'pseudo_costs': 845 1'811 121'921 13 30'819 37'496 709'676 3'681'412\n",
" 'quick_restart': 909 376 154'138 17 40'755 49'350 860'639 4'177'195\n",
" 'quick_restart_no_lp': 1'540 91'552 2'036'022 8'106 63'509 175'863 15'057'554 44'030'027\n",
" 'reduced_costs': 847 1'263 137'115 16 34'701 41'187 709'579 3'732'223\n",
"\n",
"SAT formula Fixed Equiv Total VarLeft BinaryClauses PermanentClauses TemporaryClauses\n",
" 'core': 0 0 879 879 142 4'176 12'108\n",
" 'default_lp': 0 0 943 943 608 1'025 1'519\n",
" 'fs_random': 0 0 0 0 0 0 0\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0\n",
" 'fs_random_quick_restart_no_lp': 0 0 0 0 0 0 0\n",
" 'lb_tree_search': 0 0 845 845 142 992 9\n",
" 'max_lp': 0 0 845 845 142 987 1'202\n",
" 'no_lp': 0 0 845 845 142 2'411 838\n",
" 'objective_lb_search': 8 0 944 936 536 999 117\n",
" 'probing': 0 0 886 886 902 95 9\n",
" 'pseudo_costs': 0 0 845 845 142 883 1'464\n",
" 'quick_restart': 0 0 909 909 376 988 191\n",
" 'quick_restart_no_lp': 0 0 1'540 1'540 4'542 3'536 12'887\n",
" 'reduced_costs': 0 0 847 847 156 984 1'093\n",
"\n",
"SAT stats ClassicMinim LitRemoved LitRemovedBinary LitLearned LitForgotten Subsumed\n",
" 'core': 603'939 4'358'847 4'066'695 36'593'661 22'481'681 216'270\n",
" 'default_lp': 1'661 33'549 45'677 120'831 0 365\n",
" 'fs_random': 0 0 0 0 0 0\n",
" 'fs_random_no_lp': 0 0 0 0 0 0\n",
" 'fs_random_quick_restart_no_lp': 0 0 0 0 0 0\n",
" 'lb_tree_search': 41 87 667 1'292 0 59\n",
" 'max_lp': 1'246 16'247 98'278 235'252 0 190\n",
" 'no_lp': 379'231 3'785'179 1'318'996 32'811'718 5'871'734 327'039\n",
" 'objective_lb_search': 1'397 66'438 15'531 49'744 0 525\n",
" 'probing': 11 53 638 2'202 0 2\n",
" 'pseudo_costs': 1'516 37'479 58'876 246'640 0 319\n",
" 'quick_restart': 253 3'232 10'196 21'964 0 136\n",
" 'quick_restart_no_lp': 76'678 1'604'645 2'113'997 8'246'210 5'852'420 14'204\n",
" 'reduced_costs': 860 5'496 50'445 161'823 0 139\n",
"\n",
"Vivification Clauses Decisions LitTrue Subsumed LitRemoved DecisionReused Conflicts\n",
" 'core': 0 0 0 0 0 0 0\n",
" 'default_lp': 7'333 53'554 0 301 2'845 5'551 7\n",
" 'fs_random': 0 0 0 0 0 0 0\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0\n",
" 'fs_random_quick_restart_no_lp': 0 0 0 0 0 0 0\n",
" 'lb_tree_search': 8'407 64'133 0 271 2'485 4'635 4\n",
" 'max_lp': 9'199 67'468 0 258 2'524 7'129 8\n",
" 'no_lp': 22'177 134'888 0 245 2'527 27'021 7\n",
" 'objective_lb_search': 12'497 92'277 0 288 2'789 10'055 12\n",
" 'probing': 0 0 0 0 0 0 0\n",
" 'pseudo_costs': 12'353 90'989 0 268 2'650 9'641 11\n",
" 'quick_restart': 16'013 117'805 0 330 3'184 11'889 9\n",
" 'quick_restart_no_lp': 41'968 250'326 0 1'586 14'955 18'637 169\n",
" 'reduced_costs': 13'144 97'266 0 283 2'680 9'492 7\n",
"\n",
"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\n",
" 'core': 0 0 0 210'148 4'019 0 6'122 0 0 621 0 0 423'890 1'498'017 660'154\n",
" 'default_lp': 0 0 1 349 2 2 16 301 4 36 0 0 0 4'088 1'958\n",
" 'fs_random': 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 'fs_random_quick_restart_no_lp': 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 'lb_tree_search': 0 0 0 59 0 1 0 271 1 45 0 0 0 18 79\n",
" 'max_lp': 0 0 0 185 2 1 5 258 2 58 0 0 0 2'828 1'419\n",
" 'no_lp': 0 0 0 326'132 442 1'987 907 245 3 23 0 0 59'046 814'138 391'459\n",
" 'objective_lb_search': 850 0 1 500 1 27 25 288 1 48 0 0 0 2'772 1'567\n",
" 'probing': 0 0 0 2 0 0 0 0 0 0 0 0 0 20 11\n",
" 'pseudo_costs': 0 0 0 302 1 2 17 268 1 45 0 0 0 3'732 1'811\n",
" 'quick_restart': 0 0 1 133 0 2 3 330 1 20 0 0 0 399 376\n",
" 'quick_restart_no_lp': 0 0 13 13'220 223 52 984 1'586 128 315 0 0 59'146 186'526 91'552\n",
" 'reduced_costs': 0 0 0 137 1 3 2 283 0 41 0 0 0 2'452 1'263\n",
"\n",
"Lp stats Component Iterations AddedCuts OPTIMAL DUAL_F. DUAL_U.\n",
" 'default_lp': 1 211'633 4'089 6'969 1 102\n",
" 'lb_tree_search': 1 85'462 3'073 1'243 319 0\n",
" 'max_lp': 1 142'562 4'258 5'247 464 159\n",
" 'objective_lb_search': 1 178'607 4'006 5'371 1 92\n",
" 'probing': 1 42'068 4'970 419 13 1\n",
" 'pseudo_costs': 1 148'201 5'063 6'761 508 261\n",
" 'quick_restart': 1 93'454 4'481 2'604 5 23\n",
" 'reduced_costs': 1 137'010 4'612 3'847 445 172\n",
"\n",
"Lp dimension Final dimension of first component\n",
" 'default_lp': 1675 rows, 1596 columns, 17935 entries\n",
" 'lb_tree_search': 1694 rows, 1690 columns, 30065 entries\n",
" 'max_lp': 1638 rows, 1690 columns, 17726 entries\n",
" 'objective_lb_search': 1612 rows, 1596 columns, 24096 entries\n",
" 'probing': 3258 rows, 1596 columns, 91671 entries\n",
" 'pseudo_costs': 1100 rows, 1690 columns, 10222 entries\n",
" 'quick_restart': 1599 rows, 1596 columns, 22549 entries\n",
" 'reduced_costs': 1504 rows, 1690 columns, 23868 entries\n",
"\n",
"Lp debug CutPropag CutEqPropag Adjust Overflow Bad BadScaling\n",
" 'default_lp': 0 0 7'042 0 11'450 0\n",
" 'lb_tree_search': 0 18 1'562 0 65'051 0\n",
" 'max_lp': 0 0 5'863 0 33'595 0\n",
" 'objective_lb_search': 0 15 5'447 0 23'075 0\n",
" 'probing': 0 16 421 0 106'718 0\n",
" 'pseudo_costs': 0 0 7'492 0 30'403 0\n",
" 'quick_restart': 0 0 2'621 0 43'959 0\n",
" 'reduced_costs': 0 1 4'441 0 48'783 0\n",
"\n",
"Lp pool Constraints Updates Simplif Merged Shortened Split Strengthened Cuts/Call\n",
" 'default_lp': 6'889 102 0 0 0 32 73 4'089/9'619\n",
" 'lb_tree_search': 6'225 577 0 0 0 1'157 6 3'073/5'597\n",
" 'max_lp': 7'410 342 0 0 0 467 10 4'258/9'208\n",
" 'objective_lb_search': 6'806 232 0 0 0 98 36 4'006/8'468\n",
" 'probing': 7'769 840 0 1 0 3'065 78 4'970/8'825\n",
" 'pseudo_costs': 8'215 324 0 0 0 278 35 5'063/11'541\n",
" 'quick_restart': 7'281 362 0 0 0 704 80 4'481/8'864\n",
" 'reduced_costs': 7'764 554 0 0 0 697 14 4'612/9'450\n",
"\n",
"Lp Cut pseudo_costs lb_tree_search default_lp quick_restart probing objective_lb_search reduced_costs max_lp\n",
" CG_FF: 33 4 30 17 20 23 14 17\n",
" CG_K: 14 2 19 6 6 7 8 14\n",
" CG_KL: 5 - 5 4 3 1 3 -\n",
" CG_R: 46 22 30 17 29 27 34 35\n",
" CG_RB: 94 49 78 58 95 79 69 68\n",
" CG_RBP: 26 20 46 24 37 32 19 26\n",
" IB: 1'698 256 1'460 1'161 788 1'189 1'327 1'248\n",
" MIR_1_FF: 228 167 202 288 401 248 186 182\n",
" MIR_1_K: 36 2 67 73 76 72 19 16\n",
" MIR_1_KL: 13 3 40 39 47 26 13 9\n",
" MIR_1_R: 5 1 5 1 5 2 3 3\n",
" MIR_1_RB: 103 59 94 141 174 100 92 71\n",
" MIR_1_RBP: 45 16 77 128 198 99 32 28\n",
" MIR_2_FF: 225 224 184 248 261 216 238 201\n",
" MIR_2_K: 47 8 87 93 96 70 27 30\n",
" MIR_2_KL: 10 9 23 32 38 23 7 9\n",
" MIR_2_R: 16 5 11 17 14 10 17 15\n",
" MIR_2_RB: 203 207 153 162 209 144 197 200\n",
" MIR_2_RBP: 69 35 94 141 182 109 56 59\n",
" MIR_3_FF: 207 206 98 146 153 118 160 212\n",
" MIR_3_K: 48 22 70 87 84 70 30 23\n",
" MIR_3_KL: 11 7 11 13 17 12 12 3\n",
" MIR_3_R: 16 5 4 10 16 6 13 13\n",
" MIR_3_RB: 186 170 104 118 140 113 155 169\n",
" MIR_3_RBP: 64 56 81 110 142 83 68 64\n",
" MIR_4_FF: 129 171 72 93 95 73 137 146\n",
" MIR_4_K: 55 35 45 55 77 48 32 40\n",
" MIR_4_KL: 6 6 10 11 12 3 3 4\n",
" MIR_4_R: 12 10 5 1 7 4 7 13\n",
" MIR_4_RB: 132 126 80 77 86 72 136 129\n",
" MIR_4_RBP: 52 54 53 63 89 61 58 61\n",
" MIR_5_FF: 107 108 39 57 63 48 86 99\n",
" MIR_5_K: 39 31 32 41 45 29 40 31\n",
" MIR_5_KL: 5 6 2 3 11 4 9 10\n",
" MIR_5_R: 10 4 1 2 4 2 5 14\n",
" MIR_5_RB: 92 78 35 42 46 47 60 79\n",
" MIR_5_RBP: 41 42 39 45 71 33 49 41\n",
" MIR_6_FF: 78 79 32 27 49 27 70 71\n",
" MIR_6_K: 38 26 31 27 53 23 36 33\n",
" MIR_6_KL: 16 25 6 10 9 12 33 15\n",
" MIR_6_R: 7 5 5 - 8 1 8 8\n",
" MIR_6_RB: 71 52 33 23 42 17 57 63\n",
" MIR_6_RBP: 45 48 25 35 45 18 64 51\n",
" ZERO_HALF_FF: 35 6 35 27 37 27 28 20\n",
" ZERO_HALF_K: 7 - 11 10 10 17 5 6\n",
" ZERO_HALF_KL: 2 - 2 1 5 1 1 -\n",
" ZERO_HALF_R: 502 497 354 524 694 448 687 484\n",
" ZERO_HALF_RB: 95 97 48 132 125 77 139 94\n",
" ZERO_HALF_RBP: 39 12 21 41 56 35 63 31\n",
"\n",
"LNS stats Improv/Calls Closed Difficulty TimeLimit\n",
" 'graph_arc_lns': 7/89 49% 3.66e-01 0.10\n",
" 'graph_cst_lns': 10/80 49% 5.47e-01 0.10\n",
" 'graph_dec_lns': 5/74 50% 7.46e-01 0.10\n",
" 'graph_var_lns': 8/84 49% 5.88e-01 0.10\n",
" 'lb_relax_lns': 6/16 38% 2.06e-01 0.50\n",
" 'rins/rens': 53/71 49% 4.14e-01 0.10\n",
" 'rnd_cst_lns': 7/75 49% 6.87e-01 0.10\n",
" 'rnd_var_lns': 6/68 47% 6.13e-01 0.10\n",
"\n",
"LS stats Batches Restarts/Perturbs LinMoves GenMoves CompoundMoves Bactracks WeightUpdates ScoreComputed\n",
" 'ls_lin_restart': 4 4 51'393 0 0 0 8'700 1'876'007\n",
" 'ls_lin_restart_compound': 26 13 0 408'313 34'910 186'654 1'803 11'687'497\n",
" 'ls_lin_restart_compound_perturb': 25 14 0 400'224 35'642 182'254 1'962 10'906'896\n",
" 'ls_lin_restart_decay': 12 5 178'750 0 0 0 2'845 4'098'776\n",
" 'ls_lin_restart_decay_compound': 4 3 0 52'608 9'289 21'654 100 1'740'168\n",
" 'ls_lin_restart_decay_compound_perturb': 5 4 0 67'803 14'115 26'835 154 1'897'045\n",
" 'ls_lin_restart_decay_perturb': 9 7 140'991 0 0 0 2'327 3'210'850\n",
" 'ls_lin_restart_perturb': 8 5 99'848 0 0 0 19'353 3'913'994\n",
" 'ls_restart': 12 7 149'311 0 0 0 25'905 5'873'606\n",
" 'ls_restart_compound': 8 6 0 118'740 11'681 53'514 538 3'396'214\n",
" 'ls_restart_compound_perturb': 17 8 0 267'982 25'046 121'441 1'054 7'711'536\n",
" 'ls_restart_decay': 11 9 170'101 0 0 0 2'872 3'843'096\n",
" 'ls_restart_decay_compound': 11 7 0 148'567 24'636 61'940 233 4'329'357\n",
" 'ls_restart_decay_compound_perturb': 8 7 0 108'336 19'790 44'250 300 3'185'935\n",
" 'ls_restart_decay_perturb': 25 9 383'930 0 0 0 5'969 8'779'390\n",
" 'ls_restart_perturb': 4 3 50'963 0 0 0 7'831 1'879'090\n",
"\n",
"Solutions (9) Num Rank\n",
" 'complete_hint': 2 [0,1]\n",
" 'graph_cst_lns': 2 [2,3]\n",
" 'graph_var_lns': 2 [1,2]\n",
" 'lb_relax_lns_bool_h': 2 [8,9]\n",
" 'quick_restart_no_lp': 8 [3,8]\n",
" 'rnd_cst_lns': 2 [5,6]\n",
"\n",
"Objective bounds Num\n",
" 'am1_presolve': 1\n",
" 'initial_domain': 1\n",
" 'lb_tree_search': 203\n",
" 'max_lp': 5\n",
" 'probing': 1\n",
" 'pseudo_costs': 1\n",
"\n",
"Solution repositories Added Queried Synchro\n",
" 'alternative_path': 58 320 58\n",
" 'best_solutions': 203 409 128\n",
" 'fj solution hints': 0 0 0\n",
" 'lp solutions': 248 74 204\n",
" 'pump': 0 0\n",
"\n",
"Clauses shared #Exported #Imported #BinaryRead #BinaryTotal\n",
" 'core': 582 815 1 1\n",
" 'default_lp': 2 1'204 1 1\n",
" 'lb_tree_search': 0 1'205 1 1\n",
" 'max_lp': 6 1'201 1 1\n",
" 'no_lp': 586 480 1 1\n",
" 'objective_lb_search': 9 1'198 1 1\n",
" 'probing': 0 0 0 1\n",
" 'pseudo_costs': 7 1'077 1 1\n",
" 'quick_restart': 7 1'199 1 1\n",
" 'quick_restart_no_lp': 319 912 1 1\n",
" 'reduced_costs': 4 1'201 1 1\n",
"\n",
"LRAT_status: NA\n",
"[Scaling] scaled_objective_bound: 229868 corrected_bound: 229868 delta: 2.17967e-06\n",
"CpSolverResponse summary:\n",
"status: FEASIBLE\n",
"objective: 240715.159901454\n",
"best_bound: 229867.841865059\n",
"integers: 0\n",
"booleans: 0\n",
"conflicts: 0\n",
"branches: 0\n",
"propagations: 0\n",
"integer_propagations: 0\n",
"restarts: 0\n",
"lp_iterations: 0\n",
"walltime: 40.058\n",
"usertime: 40.058\n",
"deterministic_time: 245.428\n",
"gap_integral: 2283.57\n",
"solution_fingerprint: 0x91194cc2586fc39b\n",
"\n"
]
},
{
"data": {
"text/plain": [
"SolutionInfo(runtime=40.067026, bound=229867.84186505896, objective=240715.159901454, relgap=0.04506287863562808, termination='FEASIBLE')"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# required to get the log inside the notebook (goes only to console otherwise)\n",
"solver.log_callback = print\n",
"\n",
"solver.solve(\n",
" time_limit=40,\n",
" mip_gap=0.005,\n",
" verbose=True,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "85259659-f76f-41cc-9b54-32ad2fc13ba6",
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
""
],
"text/plain": [
""
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"S, G = solver.get_solution()\n",
"svgplot(G)"
]
}
],
"metadata": {
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 5
}