{ "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": [ "Σλ = 256 618 m(+1) SS1: 13κ = 8, T = 95" ], "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": [ "Σλ = 243 083 m(+0) SS1: 12κ = 8, T = 95" ], "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": [ "Σλ = 240 866 m(+0) SS1: 12κ = 8, T = 95" ], "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 }