{
"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 EW_presolver"
]
},
{
"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": [
"13.1 ms ± 368 μ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": [
"2.78 ms ± 14.3 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
],
"source": [
"%%timeit\n",
"S_pre = EW_presolver(A, capacity=8)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "db7316e3-173f-4f5f-9418-b2cf07ddcd5a",
"metadata": {},
"outputs": [],
"source": [
"S_pre = EW_presolver(A, capacity=8)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "f5a054d7-8755-4fa2-9243-1a42c3c31c6c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"16.1 ms ± 84.6 μs per loop (mean ± std. dev. of 7 runs, 100 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')"
]
},
{
"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": [
"\n",
"\n",
"Starting CP-SAT solver v9.15.6755\n",
"Starting CP-SAT solver v9.15.6755\n",
"Parameters: max_time_in_seconds: 40 log_search_progress: true relative_gap_limit: 0.005\n",
"Parameters: max_time_in_seconds: 40 log_search_progress: true relative_gap_limit: 0.005\n",
"Setting number of workers to 8\n",
"Setting number of workers to 8\n",
"\n",
"\n",
"Initial optimization model '': (model_fingerprint: 0x15a737bbf9747168)\n",
"#Variables: 1'690 (#bools: 845 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",
"#kAtMostOne: 635 (#literals: 1'926)\n",
"#kLinear1: 1'690 (#enforced: 1'690)\n",
"#kLinear3: 4\n",
"#kLinearN: 284 (#terms: 4'213)\n",
"\n",
"Initial optimization model '': (model_fingerprint: 0x15a737bbf9747168)\n",
"#Variables: 1'690 (#bools: 845 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",
"#kAtMostOne: 635 (#literals: 1'926)\n",
"#kLinear1: 1'690 (#enforced: 1'690)\n",
"#kLinear3: 4\n",
"#kLinearN: 284 (#terms: 4'213)\n",
"Starting presolve at 0.01s\n",
"\n",
"Starting presolve at 0.01s\n",
"The solution hint is complete and is feasible.\n",
"The solution hint is complete and is feasible.\n",
"[Scaling] Floating point objective has 845 terms with magnitude in [1409.66, 22631.9] average = 4594.28\n",
"[Scaling] Floating point objective has 845 terms with magnitude in [1409.66, 22631.9] average = 4594.28\n",
"[Scaling] Objective coefficient relative error: 1.60816e-10\n",
"[Scaling] Objective worst-case absolute error: 5.35971e-05\n",
"[Scaling] Objective scaling factor: 2.09715e+06\n",
"[Scaling] Objective coefficient relative error: 1.60816e-10\n",
"[Scaling] Objective worst-case absolute error: 5.35971e-05\n",
"[Scaling] Objective scaling factor: 2.09715e+06\n",
" 4.29e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 4.29e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 8.74e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=2 #num_dual_strengthening=1 \n",
" 8.74e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=2 #num_dual_strengthening=1 \n",
" 5.43e-05s 0.00e+00d [ExtractEncodingFromLinear] #potential_supersets=730 \n",
" 5.43e-05s 0.00e+00d [ExtractEncodingFromLinear] #potential_supersets=730 \n",
" 1.48e-04s 0.00e+00d [DetectDuplicateColumns] \n",
" 1.48e-04s 0.00e+00d [DetectDuplicateColumns] \n",
" 2.15e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
" 2.15e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
"[Symmetry] Graph for symmetry has 6'328 nodes and 11'931 arcs.\n",
"[Symmetry] Graph for symmetry has 6'328 nodes and 11'931 arcs.\n",
"[Symmetry] Symmetry computation done. time: 0.00066392 dtime: 0.00115685\n",
"[Symmetry] Symmetry computation done. time: 0.00066392 dtime: 0.00115685\n",
" 3.39e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 3.39e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 1.42e-02s 3.73e-03d [Probe] #probed=1'690 \n",
" 1.42e-02s 3.73e-03d [Probe] #probed=1'690 \n",
" 9.26e-04s 3.79e-04d [MaxClique] Merged 635 constraints with 1'926 literals into 330 constraints with 1'316 literals\n",
" 9.26e-04s 3.79e-04d [MaxClique] Merged 635 constraints with 1'926 literals into 330 constraints with 1'316 literals\n",
" 7.01e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 7.01e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 7.19e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 7.19e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 5.27e-04s 0.00e+00d [ProcessAtMostOneAndLinear] \n",
" 5.27e-04s 0.00e+00d [ProcessAtMostOneAndLinear] \n",
" 2.69e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
" 2.69e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
" 2.51e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 2.51e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 5.04e-04s 1.46e-05d [DetectDominatedLinearConstraints] #relevant_constraints=193 #num_inclusions=96 \n",
" 5.04e-04s 1.46e-05d [DetectDominatedLinearConstraints] #relevant_constraints=193 #num_inclusions=96 \n",
" 3.66e-05s 0.00e+00d [DetectDifferentVariables] \n",
" 3.66e-05s 0.00e+00d [DetectDifferentVariables] \n",
" 6.42e-03s 3.73e-04d [ProcessSetPPC] #relevant_constraints=427 #num_inclusions=425 \n",
" 6.42e-03s 3.73e-04d [ProcessSetPPC] #relevant_constraints=427 #num_inclusions=425 \n",
" 3.83e-04s 0.00e+00d [TransformClausesToExactlyOne] #num_amos=330 \n",
" 3.83e-04s 0.00e+00d [TransformClausesToExactlyOne] #num_amos=330 \n",
" 9.06e-04s 0.00e+00d [DetectEncodedComplexDomains] \n",
" 9.06e-04s 0.00e+00d [DetectEncodedComplexDomains] \n",
" 4.27e-05s 0.00e+00d [FindAlmostIdenticalLinearConstraints] \n",
" 4.27e-05s 0.00e+00d [FindAlmostIdenticalLinearConstraints] \n",
" 2.64e-04s 2.83e-04d [FindBigAtMostOneAndLinearOverlap] \n",
" 2.64e-04s 2.83e-04d [FindBigAtMostOneAndLinearOverlap] \n",
" 1.93e-04s 3.25e-04d [FindBigVerticalLinearOverlap] \n",
" 1.93e-04s 3.25e-04d [FindBigVerticalLinearOverlap] \n",
" 2.71e-05s 1.24e-05d [FindBigHorizontalLinearOverlap] #linears=179 \n",
" 2.71e-05s 1.24e-05d [FindBigHorizontalLinearOverlap] #linears=179 \n",
" 1.08e-05s 0.00e+00d [MergeClauses] \n",
" 1.08e-05s 0.00e+00d [MergeClauses] \n",
" 3.97e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 3.97e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 3.32e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 3.32e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 3.42e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 3.42e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 3.10e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 3.10e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 1.19e-04s 0.00e+00d [DetectDuplicateColumns] \n",
" 1.19e-04s 0.00e+00d [DetectDuplicateColumns] \n",
" 1.89e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
" 1.89e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
"[Symmetry] Graph for symmetry has 5'717 nodes and 9'866 arcs.\n",
"[Symmetry] Graph for symmetry has 5'717 nodes and 9'866 arcs.\n",
"[Symmetry] Symmetry computation done. time: 0.000573344 dtime: 0.00104489\n",
"[Symmetry] Symmetry computation done. time: 0.000573344 dtime: 0.00104489\n",
"[SAT presolve] num removable Booleans: 0 / 845\n",
"[SAT presolve] num trivial clauses: 0\n",
"[SAT presolve] num removable Booleans: 0 / 845\n",
"[SAT presolve] [0s] clauses:70 literals:140 vars:140 one_side_vars:140 simple_definition:0 singleton_clauses:0\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] [5.7167e-05s] clauses:70 literals:140 vars:140 one_side_vars:140 simple_definition:0 singleton_clauses:0\n",
"[SAT presolve] [5.7167e-05s] clauses:70 literals:140 vars:140 one_side_vars:140 simple_definition:0 singleton_clauses:0\n",
"[SAT presolve] [0.000114289s] clauses:70 literals:140 vars:140 one_side_vars:140 simple_definition:0 singleton_clauses:0\n",
"[SAT presolve] [0.000114289s] clauses:70 literals:140 vars:140 one_side_vars:140 simple_definition:0 singleton_clauses:0\n",
" 2.40e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 2.40e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 8.79e-03s 3.44e-03d [Probe] #probed=1'690 \n",
" 8.79e-03s 3.44e-03d [Probe] #probed=1'690 \n",
" 3.73e-04s 3.69e-04d [MaxClique] \n",
" 3.73e-04s 3.69e-04d [MaxClique] \n",
" 4.40e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 4.40e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 3.58e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 3.58e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 2.80e-04s 0.00e+00d [ProcessAtMostOneAndLinear] \n",
" 2.80e-04s 0.00e+00d [ProcessAtMostOneAndLinear] \n",
" 2.09e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
" 2.09e-04s 0.00e+00d [DetectDuplicateConstraints] \n",
" 1.72e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 1.72e-04s 0.00e+00d [DetectDuplicateConstraintsWithDifferentEnforcements] \n",
" 2.17e-04s 1.10e-05d [DetectDominatedLinearConstraints] #relevant_constraints=192 #num_inclusions=95 \n",
" 2.17e-04s 1.10e-05d [DetectDominatedLinearConstraints] #relevant_constraints=192 #num_inclusions=95 \n",
" 2.11e-05s 0.00e+00d [DetectDifferentVariables] \n",
" 2.11e-05s 0.00e+00d [DetectDifferentVariables] \n",
" 1.60e-04s 7.32e-06d [ProcessSetPPC] #relevant_constraints=426 \n",
" 1.60e-04s 7.32e-06d [ProcessSetPPC] #relevant_constraints=426 \n",
" 1.63e-04s 0.00e+00d [TransformClausesToExactlyOne] #num_amos=330 \n",
" 1.63e-04s 0.00e+00d [TransformClausesToExactlyOne] #num_amos=330 \n",
" 6.04e-04s 0.00e+00d [DetectEncodedComplexDomains] \n",
" 6.04e-04s 0.00e+00d [DetectEncodedComplexDomains] \n",
" 2.95e-05s 0.00e+00d [FindAlmostIdenticalLinearConstraints] \n",
" 2.95e-05s 0.00e+00d [FindAlmostIdenticalLinearConstraints] \n",
" 2.62e-04s 2.79e-04d [FindBigAtMostOneAndLinearOverlap] \n",
" 2.62e-04s 2.79e-04d [FindBigAtMostOneAndLinearOverlap] \n",
" 1.77e-04s 3.25e-04d [FindBigVerticalLinearOverlap] \n",
" 1.77e-04s 3.25e-04d [FindBigVerticalLinearOverlap] \n",
" 2.69e-05s 1.24e-05d [FindBigHorizontalLinearOverlap] #linears=179 \n",
" 2.69e-05s 1.24e-05d [FindBigHorizontalLinearOverlap] #linears=179 \n",
" 1.10e-05s 0.00e+00d [MergeClauses] \n",
" 1.10e-05s 0.00e+00d [MergeClauses] \n",
" 4.05e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 4.05e-04s 0.00e+00d [DetectDominanceRelations] \n",
" 3.28e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 3.28e-03s 0.00e+00d [PresolveToFixPoint] #num_loops=1 #num_dual_strengthening=1 \n",
" 4.75e-06s 0.00e+00d [MergeNoOverlap] \n",
" 4.75e-06s 0.00e+00d [MergeNoOverlap] \n",
" 4.80e-06s 0.00e+00d [MergeNoOverlap2D] \n",
" 4.80e-06s 0.00e+00d [MergeNoOverlap2D] \n",
" 3.50e-04s 0.00e+00d [ExpandObjective] #entries=7'754 #tight_variables=845 #tight_constraints=95 \n",
" 3.50e-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",
"\n",
" - rule 'TODO linear inclusion: superset is equality' was applied 191 times.\n",
" - rule 'at_most_one: transformed into max clique' was applied 1 time.\n",
" - rule 'deductions: 1690 stored' was applied 1 time.\n",
" - rule 'exactly_one: simplified objective' was applied 95 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",
"Presolve summary:\n",
" - 0 affine relations were detected.\n",
" - rule 'TODO linear inclusion: superset is equality' was applied 191 times.\n",
" - rule 'at_most_one: transformed into max clique' was applied 1 time.\n",
" - rule 'deductions: 1690 stored' was applied 1 time.\n",
" - rule 'exactly_one: simplified objective' was applied 95 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",
"\n",
"Presolved optimization model '': (model_fingerprint: 0x8a43a5a2cf0efc35)\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",
"Presolved optimization model '': (model_fingerprint: 0x8a43a5a2cf0efc35)\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] Graph for symmetry has 5'717 nodes and 9'866 arcs.\n",
"[Symmetry] Symmetry computation done. time: 0.000540524 dtime: 0.00104362\n",
"[Symmetry] Symmetry computation done. time: 0.000540524 dtime: 0.00104362\n",
"\n",
"Preloading model.\n",
"\n",
"Preloading model.\n",
"#Bound 0.09s best:inf next:[160817.074,2309766.32] initial_domain\n",
"#Bound 0.09s best:inf next:[160817.074,2309766.32] initial_domain\n",
"#1 0.09s best:242923.237 next:[160817.074,242923.237] complete_hint\n",
"#1 0.09s best:242923.237 next:[160817.074,242923.237] complete_hint\n",
"#Model 0.09s var:1690/1690 constraints:2307/2307\n",
"#Model 0.09s var:1690/1690 constraints:2307/2307\n",
"\n",
"\n",
"Starting search at 0.10s with 8 workers.\n",
"Starting search at 0.10s with 8 workers.\n",
"6 full problem subsolvers: [core, default_lp, max_lp, no_lp, quick_restart, reduced_costs]\n",
"2 first solution subsolvers: [fj, fs_random_no_lp]\n",
"6 full problem subsolvers: [core, default_lp, max_lp, no_lp, quick_restart, reduced_costs]\n",
"9 interleaved subsolvers: [feasibility_pump, graph_arc_lns, graph_cst_lns, graph_dec_lns, graph_var_lns, ls, rins/rens, rnd_cst_lns, rnd_var_lns]\n",
"3 helper subsolvers: [neighborhood_helper, synchronization_agent, update_gap_integral]\n",
"\n",
"2 first solution subsolvers: [fj, fs_random_no_lp]\n",
"9 interleaved subsolvers: [feasibility_pump, graph_arc_lns, graph_cst_lns, graph_dec_lns, graph_var_lns, ls, rins/rens, rnd_cst_lns, rnd_var_lns]\n",
"3 helper subsolvers: [neighborhood_helper, synchronization_agent, update_gap_integral]\n",
"\n",
"#Bound 0.12s best:242923.237 next:[162472.38,242923.237] am1_presolve (num_literals=750 num_am1=34 increase=3471428032 work_done=2720)\n",
"#Bound 0.12s best:242923.237 next:[162472.38,242923.237] am1_presolve (num_literals=750 num_am1=34 increase=3471428032 work_done=2720)\n",
"#Bound 0.13s best:242923.237 next:[188354.862,242923.237] default_lp\n",
"#Bound 0.13s best:242923.237 next:[188354.862,242923.237] default_lp\n",
"#Bound 0.13s best:242923.237 next:[189781.728,242923.237] reduced_costs\n",
"#Bound 0.13s best:242923.237 next:[189781.728,242923.237] reduced_costs\n",
"#Bound 0.18s best:242923.237 next:[223973.897,242923.237] max_lp\n",
"#Bound 0.18s best:242923.237 next:[223973.897,242923.237] max_lp\n",
"#2 0.21s best:242090.156 next:[223973.897,242090.156] rins_lp_lns (d=5.00e-01 s=11 t=0.10 p=0.00 stall=0 h=base)\n",
"#2 0.21s best:242090.156 next:[223973.897,242090.156] rins_lp_lns (d=5.00e-01 s=11 t=0.10 p=0.00 stall=0 h=base)\n",
"#Bound 0.31s best:242090.156 next:[225413.966,242090.156] max_lp\n",
"#Bound 0.31s best:242090.156 next:[225413.966,242090.156] max_lp\n",
"#3 0.43s best:241681.214 next:[225413.966,241681.214] graph_arc_lns (d=5.00e-01 s=9 t=0.10 p=0.00 stall=0 h=base) [combined with: rins_lp_lns (d=5.00e...]\n",
"#3 0.43s best:241681.214 next:[225413.966,241681.214] graph_arc_lns (d=5.00e-01 s=9 t=0.10 p=0.00 stall=0 h=base) [combined with: rins_lp_lns (d=5.00e...]\n",
"#Bound 0.90s best:241681.214 next:[226137.83,241681.214] max_lp\n",
"#Bound 0.90s best:241681.214 next:[226137.83,241681.214] max_lp\n",
"#4 0.91s best:241680.579 next:[226137.83,241680.579] graph_cst_lns (d=7.07e-01 s=19 t=0.10 p=1.00 stall=1 h=base)\n",
"#4 0.91s best:241680.579 next:[226137.83,241680.579] graph_cst_lns (d=7.07e-01 s=19 t=0.10 p=1.00 stall=1 h=base)\n",
"#Bound 1.05s best:241680.579 next:[226545.592,241680.579] max_lp\n",
"#Bound 1.05s best:241680.579 next:[226545.592,241680.579] max_lp\n",
"#Bound 1.09s best:241680.579 next:[226903.496,241680.579] max_lp\n",
"#Bound 1.09s best:241680.579 next:[226903.496,241680.579] max_lp\n",
"#Bound 1.65s best:241680.579 next:[227140.992,241680.579] max_lp\n",
"#Bound 1.65s best:241680.579 next:[227140.992,241680.579] max_lp\n",
"#5 2.19s best:241127.121 next:[227140.992,241127.121] graph_arc_lns (d=4.62e-01 s=34 t=0.10 p=0.50 stall=1 h=base)\n",
"#5 2.19s best:241127.121 next:[227140.992,241127.121] graph_arc_lns (d=4.62e-01 s=34 t=0.10 p=0.50 stall=1 h=base)\n",
"#6 2.85s best:240918.612 next:[227140.992,240918.612] rnd_cst_lns (d=8.08e-01 s=40 t=0.10 p=0.75 stall=4 h=base)\n",
"#6 2.85s best:240918.612 next:[227140.992,240918.612] rnd_cst_lns (d=8.08e-01 s=40 t=0.10 p=0.75 stall=4 h=base)\n",
"#Bound 2.93s best:240918.612 next:[227311.596,240918.612] max_lp\n",
"#Bound 2.93s best:240918.612 next:[227311.596,240918.612] max_lp\n",
"#Bound 3.49s best:240918.612 next:[227540.311,240918.612] max_lp\n",
"#Bound 3.49s best:240918.612 next:[227540.311,240918.612] max_lp\n",
"#7 4.51s best:240715.16 next:[227540.311,240715.16] graph_var_lns (d=8.30e-01 s=59 t=0.10 p=0.71 stall=7 h=base)\n",
"#7 4.51s best:240715.16 next:[227540.311,240715.16] graph_var_lns (d=8.30e-01 s=59 t=0.10 p=0.71 stall=7 h=base)\n",
"#Bound 6.04s best:240715.16 next:[227616.831,240715.16] reduced_costs\n",
"#Bound 6.04s best:240715.16 next:[227616.831,240715.16] reduced_costs\n",
"#Bound 7.18s best:240715.16 next:[227735.196,240715.16] reduced_costs\n",
"#Bound 7.18s best:240715.16 next:[227735.196,240715.16] reduced_costs\n",
"#Bound 7.78s best:240715.16 next:[227774.626,240715.16] reduced_costs\n",
"#Bound 7.78s best:240715.16 next:[227774.626,240715.16] reduced_costs\n",
"#Bound 7.89s best:240715.16 next:[227871.253,240715.16] reduced_costs\n",
"#Bound 7.89s best:240715.16 next:[227871.253,240715.16] reduced_costs\n",
"#Bound 8.68s best:240715.16 next:[228105.614,240715.16] reduced_costs\n",
"#Bound 8.68s best:240715.16 next:[228105.614,240715.16] reduced_costs\n",
"#Bound 11.01s best:240715.16 next:[228127.03,240715.16] reduced_costs\n",
"#Bound 11.01s best:240715.16 next:[228127.03,240715.16] reduced_costs\n",
"#Bound 11.86s best:240715.16 next:[228212.302,240715.16] reduced_costs\n",
"#Bound 11.86s best:240715.16 next:[228212.302,240715.16] reduced_costs\n",
"#Bound 11.96s best:240715.16 next:[228282.896,240715.16] reduced_costs\n",
"#Bound 11.96s best:240715.16 next:[228282.896,240715.16] reduced_costs\n",
"#Bound 12.83s best:240715.16 next:[228351.743,240715.16] reduced_costs\n",
"#Bound 12.83s best:240715.16 next:[228351.743,240715.16] reduced_costs\n",
"#Bound 13.93s best:240715.16 next:[228378.784,240715.16] reduced_costs\n",
"#Bound 13.93s best:240715.16 next:[228378.784,240715.16] reduced_costs\n",
"#Bound 14.95s best:240715.16 next:[228418.7,240715.16] reduced_costs\n",
"#Bound 14.95s best:240715.16 next:[228418.7,240715.16] reduced_costs\n",
"#Bound 15.10s best:240715.16 next:[228430.007,240715.16] reduced_costs\n",
"#Bound 15.10s best:240715.16 next:[228430.007,240715.16] reduced_costs\n",
"#Bound 16.09s best:240715.16 next:[228501.868,240715.16] reduced_costs\n",
"#Bound 16.09s best:240715.16 next:[228501.868,240715.16] reduced_costs\n",
"#Bound 18.07s best:240715.16 next:[228505.181,240715.16] reduced_costs\n",
"#Bound 18.07s best:240715.16 next:[228505.181,240715.16] reduced_costs\n",
"#Bound 19.20s best:240715.16 next:[228586.106,240715.16] reduced_costs\n",
"#Bound 19.20s best:240715.16 next:[228586.106,240715.16] reduced_costs\n",
"#Bound 21.03s best:240715.16 next:[228609.775,240715.16] reduced_costs\n",
"#Bound 21.03s best:240715.16 next:[228609.775,240715.16] reduced_costs\n",
"#Bound 21.91s best:240715.16 next:[228630.611,240715.16] reduced_costs\n",
"#Bound 21.91s best:240715.16 next:[228630.611,240715.16] reduced_costs\n",
"#Bound 22.06s best:240715.16 next:[228643.256,240715.16] reduced_costs\n",
"#Bound 22.06s best:240715.16 next:[228643.256,240715.16] reduced_costs\n",
"#Bound 23.14s best:240715.16 next:[228721.322,240715.16] reduced_costs\n",
"#Bound 23.14s best:240715.16 next:[228721.322,240715.16] reduced_costs\n",
"#Bound 25.61s best:240715.16 next:[228723.979,240715.16] reduced_costs\n",
"#Bound 25.61s best:240715.16 next:[228723.979,240715.16] reduced_costs\n",
"#Bound 26.72s best:240715.16 next:[228747.341,240715.16] reduced_costs\n",
"#Bound 26.72s best:240715.16 next:[228747.341,240715.16] reduced_costs\n",
"#Bound 28.00s best:240715.16 next:[228793.888,240715.16] reduced_costs#Bound 28.00s best:240715.16 next:[228793.888,240715.16] reduced_costs\n",
"\n",
"\n",
"Task timing n [ min, max] avg dev time n [ min, max] avg dev dtime\n",
" 'core': 1 [ 39.91s, 39.91s] 39.91s 0.00ns 39.91s 2 [ 3.54ms, 25.07s] 12.54s 12.53s 25.07s\n",
" 'default_lp': 1 [ 39.91s, 39.91s] 39.91s 0.00ns 39.91s 2 [114.95ms, 15.86s] 7.99s 7.87s 15.98s\n",
" 'feasibility_pump': 97 [ 66.47us, 97.30ms] 3.74ms 9.58ms 362.77ms 94 [369.16us, 66.02ms] 1.08ms 6.73ms 101.98ms\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_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': 44 [ 14.61ms, 435.91ms] 225.24ms 152.65ms 9.91s 44 [117.90us, 100.16ms] 59.70ms 44.56ms 2.63s\n",
" 'graph_cst_lns': 39 [ 26.28ms, 502.09ms] 263.77ms 159.98ms 10.29s 39 [163.13us, 100.21ms] 61.97ms 42.39ms 2.42s\n",
" 'graph_dec_lns': 37 [ 1.31ms, 605.98ms] 264.31ms 200.69ms 9.78s 35 [ 10.00ns, 100.34ms] 60.35ms 45.34ms 2.11s\n",
" 'graph_var_lns': 45 [ 6.77ms, 453.51ms] 217.54ms 167.05ms 9.79s 45 [116.00ns, 100.15ms] 55.67ms 46.10ms 2.51s\n",
" 'ls': 54 [137.38ms, 217.21ms] 181.64ms 17.94ms 9.81s 54 [100.00ms, 100.03ms] 100.01ms 6.87us 5.40s\n",
" 'max_lp': 1 [ 39.94s, 39.94s] 39.94s 0.00ns 39.94s 2 [213.30ms, 16.12s] 8.17s 7.95s 16.34s\n",
" 'no_lp': 1 [ 40.01s, 40.01s] 40.01s 0.00ns 40.01s 2 [ 4.18ms, 12.67s] 6.34s 6.33s 12.68s\n",
" 'quick_restart': 1 [ 39.91s, 39.91s] 39.91s 0.00ns 39.91s 2 [119.30ms, 15.71s] 7.92s 7.80s 15.83s\n",
" 'reduced_costs': 1 [ 39.90s, 39.90s] 39.90s 0.00ns 39.90s 2 [ 41.12ms, 16.63s] 8.33s 8.29s 16.67s\n",
" 'rins/rens': 39 [ 3.78ms, 551.19ms] 251.03ms 196.13ms 9.79s 32 [ 1.61us, 100.08ms] 69.89ms 42.64ms 2.24s\n",
" 'rnd_cst_lns': 38 [ 24.52ms, 495.95ms] 260.95ms 158.91ms 9.92s 37 [ 41.13us, 100.15ms] 59.20ms 41.02ms 2.19s\n",
" 'rnd_var_lns': 37 [ 13.96ms, 545.81ms] 267.67ms 181.28ms 9.90s 37 [ 10.00ns, 100.26ms] 58.85ms 45.50ms 2.18s\n",
"\n",
"Search stats Bools Conflicts Branches Restarts BacktrackToRoot Backtrack BoolPropag IntegerPropag\n",
" 'core': 879 664'010 1'184'500 877 6'698 667'389 9'852'324 28'113'065\n",
" 'default_lp': 981 2'375 93'553 8 20'174 28'524 678'720 3'064'507\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0 0\n",
" 'max_lp': 845 1'973 78'047 7 17'988 23'538 492'327 2'533'222\n",
" 'no_lp': 845 409'755 788'484 638 59'763 495'088 29'294'495 86'297'910\n",
" 'quick_restart': 935 444 161'541 18 40'790 51'676 958'582 4'577'419\n",
" 'reduced_costs': 847 1'248 86'334 11 24'208 29'122 435'624 2'297'945\n",
"\n",
"\n",
"SAT formula Fixed Equiv Total VarLeft BinaryClauses PermanentClauses TemporaryClauses\n",
" 'core': 0 0 879 879 190 4'006 8'025\n",
" 'default_lp': 0 0 981 981 710 1'242 1'962\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0\n",
" 'max_lp': 0 0 845 845 142 1'224 1'560\n",
" 'no_lp': 0 0 845 845 142 2'761 8'335\n",
" 'quick_restart': 0 0 935 935 502 1'224 196\n",
" 'reduced_costs': 0 0 847 847 166 871 1'093\n",
"\n",
"SAT stats ClassicMinim LitRemoved LitRemovedBinary LitLearned LitForgotten Subsumed\n",
" 'core': 605'705 4'017'646 3'872'855 35'018'783 22'712'064 198'714\n",
" 'default_lp': 2'019 36'945 86'173 245'536 0 373\n",
" 'fs_random_no_lp': 0 0 0 0 0 0\n",
" 'max_lp': 1'748 57'360 84'762 320'663 0 395\n",
" 'no_lp': 398'430 3'914'281 893'632 33'758'495 4'216'297 348'709\n",
" 'quick_restart': 248 2'485 8'144 19'313 0 220\n",
" 'reduced_costs': 759 12'036 44'355 145'756 0 137\n",
"\n",
"Task timing n [ min, max] avg dev time n [ min, max] avg dev dtime\n",
" 'core': 1 [ 39.91s, 39.91s] 39.91s 0.00ns 39.91s 2 [ 3.54ms, 25.07s] 12.54s 12.53s 25.07s\n",
" 'default_lp': 1 [ 39.91s, 39.91s] 39.91s 0.00ns 39.91s 2 [114.95ms, 15.86s] 7.99s 7.87s 15.98s\n",
" 'feasibility_pump': 97 [ 66.47us, 97.30ms] 3.74ms 9.58ms 362.77ms 94 [369.16us, 66.02ms] 1.08ms 6.73ms 101.98ms\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_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': 44 [ 14.61ms, 435.91ms] 225.24ms 152.65ms 9.91s 44 [117.90us, 100.16ms] 59.70ms 44.56ms 2.63s\n",
" 'graph_cst_lns': 39 [ Vivification Clauses Decisions LitTrue Subsumed LitRemoved DecisionReused Conflicts\n",
" 'core': 3'267 48'730 0 385 7'637 4'686 12\n",
" 'default_lp': 10'112 70'316 0 169 2'271 10'687 11\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0\n",
" 'max_lp': 8'403 59'543 0 142 2'022 8'681 5\n",
" 'no_lp': 44'904 223'130 0 295 3'735 78'404 10\n",
" 'quick_restart': 17'835 123'935 0 157 2'196 16'004 16\n",
" 'reduced_costs': 7'820 55'828 0 90 1'266 6'683 9\n",
"\n",
"26.28ms, 502.09ms] 263.77ms 159.98ms 10.29s 39 [163.13us, 100.21ms] 61.97ms 42.39ms 2.42s\n",
" 'graph_dec_lns': 37 [ 1.31ms, 605.98ms] 264.31ms 200.69ms 9.78s 35 [ 10.00ns, 100.34ms] 60.35ms 45.34ms 2.11s\n",
" 'graph_var_lns': 45 [ 6.77ms, 453.51ms] 217.54ms 167.05ms 9.79s 45 [116.00ns, 100.15ms] 55.67ms 46.10ms 2.51s\n",
" 'ls': 54 [137.38ms, 217.21ms] 181.64ms 17.94ms 9.81s 54 [100.00ms, 100.03ms] 100.01ms 6.87us 5.40s\n",
" 'max_lp': 1 [ 39.94s, 39.94s] 39.94s 0.00ns 39.94s 2 [213.30ms, 16.12s] 8.17s 7.95s 16.34s\n",
" 'no_lp': 1 [ 40.01s, 40.01s] 40.01s 0.00ns 40.01s 2 [ 4.18ms, 12.67s] 6.34s 6.33s 12.68s\n",
" 'quick_restart': 1 [ 39.91s, 39.91s] 39.91s 0.00ns 39.91s 2 [119.30ms, 15.71s] 7.92s 7.80s 15.83s\n",
" 'reduced_costs': 1 [ 39.90s, 39.90s] 39.90s 0.00Clause 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 192'953 4'239 2 5'761 385 0 338 0 0 449'236 1'519'432 664'010\n",
" 'default_lp': 0 0 0 358 4 1 15 169 0 0 0 0 0 4'775 2'375\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 'max_lp': 0 0 0 383 1 3 12 142 1 19 0 0 0 3'803 1'973\n",
" 'no_lp': 0 0 0 347'687 333 2'013 1'022 295 2 71 0 0 47'790 837'514 409'755\n",
" 'quick_restart': 0 0 0 215 0 2 5 157 2 16 0 0 0 362 444\n",
" 'reduced_costs': 0 0 0 137 0 2 0 90 0 0 0 0 0 2'367 1'248\n",
"\n",
"ns 39.90s 2 [ 41.12ms, 16.63s] 8.33s 8.29s 16.67s\n",
" 'rins/rens': 39 [ 3.78ms, 551.19ms] 251.03ms 196.13ms 9.79s 32 [ 1.61us, 100.08ms] 69.89ms 42.64ms 2.24s\n",
" 'rnd_cst_lns': 38 [ 24.52ms, 495.95ms] 260.95ms 158.91ms 9.92s 37 [ 41.13us, 100.15ms] 59.20ms 41.02ms 2.19s\n",
" 'rnd_var_lns': 37 [ 13.96ms, 545.81ms] 267.67ms 181.28ms 9.90s 37 [ 10.00ns, 100.26ms] 58.85ms 45.50ms 2.18s\n",
"\n",
"Search stats Bools Conflicts Branches Restarts BacktrackToRoot Backtrack BoolPropag IntegerPropag\n",
" 'core': 879 664'010 1'184'500 877 6'698 667'389 9'852'324 28'113'065\n",
" 'default_lp': 981 2'375 93'553 8 20'174 28'524 678'720 3'064'507\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0 0\n",
" 'max_lp': 845 1'973 78'047 Lp stats Component Iterations AddedCuts OPTIMAL DUAL_F. DUAL_U.\n",
" 'default_lp': 1 218'098 4'489 8'525 2 235\n",
" 'max_lp': 1 183'463 3'719 5'876 731 158\n",
" 'quick_restart': 1 90'702 4'742 2'781 4 36\n",
" 'reduced_costs': 1 144'987 3'721 3'546 596 163\n",
"\n",
"Lp dimension Final dimension of first component\n",
" 'default_lp': 1578 rows, 1596 columns, 16121 entries\n",
" 'max_lp': 1446 rows, 1690 columns, 16330 entries\n",
" 'quick_restart': 1841 rows, 1596 columns, 35417 entries\n",
" 'reduced_costs': 1149 rows, 1690 columns, 13463 entries\n",
"\n",
" 7 17'988 23'538 492'327 2'533'222\n",
" 'no_lp': 845 409'755 788'484 638 59'763 495'088 29'294'495 86'297'910\n",
" 'quick_restart': 935 444 161'541 18 40'790 51'676 958'582 4'577'419\n",
" 'reduced_costs': 847 1'248 86'334 11 24'208 29'122 435'624 2'297'945\n",
"\n",
"SAT formula Fixed Equiv Total VarLeft BinaryClauses PermanentClauses TemporaryClauses\n",
" 'core': 0 0 879 879 190 4'006 8'025\n",
" 'default_lp': 0 0 981 981 710 1'242 1'962\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0\n",
" 'max_lp': 0 0 845 845 142 1'224 1'560\n",
" 'no_lp': 0 0 845 845 142 2'761 Lp debug CutPropag CutEqPropag Adjust Overflow Bad BadScaling\n",
" 'default_lp': 0 3 8'738 0 13'209 0\n",
" 'max_lp': 0 0 6'757 0 25'033 0\n",
" 'quick_restart': 0 2 2'803 0 45'979 0\n",
" 'reduced_costs': 0 1 4'263 0 54'161 0\n",
"\n",
"Lp pool Constraints Updates Simplif Merged Shortened Split Strengthened Cuts/Call\n",
" 'default_lp': 7'289 115 0 0 0 19 62 4'489/10'478\n",
" 'max_lp': 6'871 264 0 0 0 252 3 3'719/7'804\n",
" 'quick_restart': 7'542 401 0 0 0 541 60 4'742/9'190\n",
" 'reduced_costs': 6'873 560 0 0 0 1'273 10 3'721/7'279\n",
"\n",
" 8'335\n",
" 'quick_restart': 0 0 935 935 502 1'224 196\n",
" 'reduced_costs': 0 0 847 847 166 871 1'093\n",
"\n",
"SAT stats ClassicMinim LitRemoved LitRemovedBinary LitLearned LitForgotten Subsumed\n",
" 'core': 605'705 4'017'646 3'872'855 35'018'783 22'712'064 198'714\n",
" 'default_lp': 2'019 36'945 86'173 245'536 0 373\n",
" 'fs_random_no_lp': 0 0 0 0 0 0\n",
" 'max_lp': 1'748 57'360 84'762 320'663 0 395\n",
" 'no_lp': 398'430 3'914'281 893'632 33'758'495 4'216'297 348'709\n",
" 'quick_restart': 248 2'485 8'144 19'313 0 220\n",
" 'reduced_costs': 759 12'036 44'355 145'756 0 137\n",
"\n",
"Vivification Clauses Decisions LitTrue Subsumed LitRemoved DecisionReused Conflicts\n",
" 'core': 3'267 48'730 0 385 7'637 4'686 12\n",
" 'default_lp': 10'112 70'316 0 169 2'271 10'687 11\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0\n",
" 'max_lp': 8'403 59'543 0 142 2'022 8'681 5\n",
" 'no_lp': 44'904 223'130 0 295 3'735 78'404 10\n",
" 'quick_restart': 17'835 123'935 0 157 2'196 16'004 16\n",
" 'reduced_costs': 7'820 55'828 0 90 1'266 6'683 9\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 192'953 4'239 2 5'761 385 0 338 0 0 449'236 1'519'432 664'010\n",
" 'default_lp': 0 0 0 358 4 1 15 169 0 0 0 0 0 4'775 2'375\n",
" 'fs_random_no_lp': 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 'max_lp': 0 0 0 383 1 3 12 142 1 19 0 0 0 3'803 1'973\n",
" 'no_lp': 0 0 0 347'687 333 2'013 1'022 295 2 71 0 0 47'790 837'514 409'755\n",
" 'quick_restart': 0 0 0 215 0 2 5 157 2 16 0 0 0 362 444\n",
" 'reduced_costs': 0 0 0 137 0 2 0 90 0 0 0 0 0 2'367 1'248\n",
"\n",
"Lp stats Component Iterations AddedCuts OPTIMAL DUAL_F. DUAL_U.\n",
" 'default_lp': 1 218'098 4'489 8'525 2 235\n",
" 'max_lp': 1 183'463 3'719 5'876 731 158\n",
" 'quick_restart': 1 90'702 4'742 2'781 4 36\n",
" 'reduced_costs': 1 144'987 3'721 3'546 596 163\n",
"\n",
"Lp dimension Final dimension of first component\n",
" 'default_lp': 1578 rows, 1596 columns, 16121 entries\n",
" 'max_lp': 1446 rows, 1690 columns, 16330 entries\n",
" 'quick_restart': 1841 rowLp Cut reduced_costs default_lp quick_restart max_lp\n",
" CG_FF: 12 40 11 22\n",
" CG_K: 3 26 11 15\n",
" CG_KL: 3 6 1 7\n",
" CG_R: 18 42 32 39\n",
" CG_RB: 53 90 70 56\n",
" CG_RBP: 12 51 50 28\n",
" IB: 1'204 1'652 1'191 1'224\n",
" MIR_1_FF: 194 248 315 139\n",
" MIR_1_K: 14 79 83 19\n",
" MIR_1_KL: 4 46 34 4\n",
" MIR_1_R: 4 4 6 2\n",
" MIR_1_RB: 62 93 193 75\n",
" MIR_1_RBP: 31 81 158 20\n",
" MIR_2_FF: 184 195 241 185\n",
" MIR_2_K: 18 57 83 25\n",
" MIR_2_KL: 18 17 30 3\n",
" MIR_2_R: 12 9 11 8\n",
" MIR_2_RB: 143 155 200 178\n",
" MIR_2_RBP: 60 99 124 53\n",
" MIR_3_FF: 137 124 152 182\n",
" MIR_3_K: 36 76 88 25\n",
" MIR_3_KL: 5 16 12 7\n",
" MIR_3_R: 3 9 7 18\n",
" MIR_3_RB: 125 125 137 174\n",
" MIR_3_RBP: 63 97 108 76\n",
" MIR_4_FF: 122 80 107 126\n",
" MIR_4_K: 36 60 61 37\n",
" MIR_4_KL: 8 12 6 6\n",
" MIR_4_R: 4 5 7 19\n",
" MIR_4_RB: 83 74 83 103\n",
" MIR_4_RBP: 60 53 71 48\n",
" MIR_5_FF: 83 40 59 74\n",
" MIR_5_K: 43 46 34 15\n",
" MIR_5_KL: 6 1 5 2\n",
" MIR_5_R: 5 4 3 10\n",
" MIR_5_RB: 61 50 39 69\n",
" MIR_5_RBP: 43 34 45 29\n",
" MIR_6_FF: 58 25 37 65\n",
" MIR_6_K: 26 34 34 18\n",
" MIR_6_KL: 28 11 11 17\n",
" MIR_6_R: 8 4 3 7\n",
" MIR_6_RB: 41 28 24 50\n",
" MIR_6_RBP: 44 19 35 34\n",
" ZERO_HALF_FF: 20 29 35 8\n",
" ZERO_HALF_K: - 11 9 -\n",
" ZERO_HALF_KL: 1 - 1 -\n",
" ZERO_HALF_R: 427 321 537 316\n",
" ZERO_HALF_RB: 73 77 105 70\n",
" ZERO_HALF_RBP: 23 34 43 12\n",
"\n",
"s, 1596 columns, 35417 entries\n",
" 'reduced_costs': 1149 rows, 1690 columns, 13463 entries\n",
"\n",
"Lp debug CutPropag CutEqPropag Adjust Overflow Bad BadScaling\n",
" 'default_lp': 0 3 8'738 0 13'209 0\n",
" 'max_lp': 0 0 6'757 0 25'033 0\n",
" 'quick_restart': 0 2 2'803 0 45'979 0\n",
" 'reduced_costs': 0 1 4'263 0 54'161 0\n",
"\n",
"Lp pool Constraints Updates Simplif Merged Shortened Split Strengthened Cuts/Call\n",
" 'default_lp': 7'289 115 0 0 0 19 62 4'489/10'478\n",
" 'max_lp': 6'871 264 0 0 0 252 3 3'719/7'804\n",
" 'quick_restart': 7'542 401 0 0 0 541 60 4'742/9'190\n",
" 'reduced_costs': 6'873 560 0 0 0 1'273 LNS stats Improv/Calls Closed Difficulty TimeLimit\n",
" 'graph_arc_lns': 3/44 48% 3.26e-01 0.10\n",
" 'graph_cst_lns': 6/39 49% 5.89e-01 0.10\n",
" 'graph_dec_lns': 2/35 49% 6.90e-01 0.10\n",
" 'graph_var_lns': 4/45 51% 7.03e-01 0.10\n",
" 'rins/rens': 37/39 49% 4.09e-01 0.10\n",
" 'rnd_cst_lns': 4/37 51% 7.57e-01 0.10\n",
" 'rnd_var_lns': 1/37 51% 7.65e-01 0.10\n",
"\n",
"10 3'721/7'279\n",
"\n",
"Lp Cut reduced_costs default_lp quick_restart max_lp\n",
" CG_FF: 12 40 11 22\n",
" CG_K: 3 26 11 15\n",
" CG_KL: 3 6 1 7\n",
" CG_R: 18 42 32 39\n",
" CG_RB: 53 90 70 56\n",
" CG_RBP: 12 51 50 28\n",
" IB: 1'204 1'652 1'191 1'224\n",
" MIR_1_FF: 194 248 315 139\n",
" MIR_1_K: 14 79 83 19\n",
" MIR_1_KL: 4 46 34 4\n",
" MIR_1_R: 4 4 6 2\n",
" MIR_1_RB: 62 93 193 75\n",
" MIR_1_RBP: 31 81 158 20\n",
" MIR_2_FF: 184 195 LS stats Batches Restarts/Perturbs LinMoves GenMoves CompoundMoves Bactracks WeightUpdates ScoreComputed\n",
" 'ls_restart': 8 6 101'670 0 0 0 19'885 3'674'415\n",
" 'ls_restart_compound': 6 4 0 92'468 8'148 42'145 472 2'667'284\n",
" 'ls_restart_compound_perturb': 7 7 0 106'701 10'300 48'192 784 3'067'327\n",
" 'ls_restart_decay': 9 7 139'474 0 0 0 2'294 3'190'097\n",
" 'ls_restart_decay_compound': 3 2 0 38'726 6'654 16'028 75 1'244'003\n",
" 'ls_restart_decay_compound_perturb': 8 3 0 106'296 16'196 45'039 98 3'428'457\n",
" 'ls_restart_decay_perturb': 4 3 63'085 0 0 0 1'019 1'445'578\n",
" 'ls_restart_perturb': 9 8 115'999 0 0 0 18'169 4'246'774\n",
"\n",
" 241 185\n",
" MIR_2_K: 18 57 83 25\n",
" MIR_2_KL: 18 17 30 3\n",
" MIR_2_R: 12 9 11 8\n",
" MIR_2_RB: 143 155 200 178\n",
" MIR_2_RBP: 60 99 124 53\n",
" MIR_3_FF: 137 124 152 182\n",
" MIR_3_K: 36 76 88 25\n",
" MIR_3_KL: 5 16 12 7\n",
" MIR_3_R: 3 9 7 18\n",
" MIR_3_RB: 125 125 137 174\n",
" MIR_3_RBP: 63 97 108 76\n",
" MIR_4_FF: 122 80 107 126\n",
" MIR_4_K: 36 60 61 37\n",
" MIR_4_KL: 8 12 6 6\n",
" MIR_4_R: 4 Solutions (7) Num Rank\n",
" 'complete_hint': 2 [0,1]\n",
" 'graph_arc_lns': 4 [2,5]\n",
" 'graph_cst_lns': 2 [3,4]\n",
" 'graph_var_lns': 2 [6,7]\n",
" 'rins_lp_lns': 2 [1,2]\n",
" 'rnd_cst_lns': 2 [5,6]\n",
"\n",
" 5 7 19\n",
" MIR_4_RB: 83 74 83 103\n",
" MIR_4_RBP: 60 53 71 48\n",
" MIR_5_FF: 83 40 59 74\n",
" MIR_5_K: 43 46 34 15\n",
" MIR_5_KL: 6 1 5 2\n",
" MIR_5_R: 5 4 3 10\n",
" MIR_5_RB: 61 50 39 69\n",
" MIR_5_RBP: 43 34 45 29\n",
" MIR_6_FF: 58 25 37 65\n",
" MIR_6_K: 26 34 34 18\n",
" MIR_6_KL: 28 11 11 17\n",
" MIR_6_R: 8 4 3 7\n",
" MIR_6_RB: 41 28 24 50\n",
" MIR_6_RBP: 44 19 35 34\n",
" ZERO_HALF_FF: 20 Objective bounds Num\n",
" 'am1_presolve': 1\n",
" 'default_lp': 1\n",
" 'initial_domain': 1\n",
" 'max_lp': 8\n",
" 'reduced_costs': 23\n",
"\n",
" 29 35 8\n",
" ZERO_HALF_K: - 11 9 -\n",
" ZERO_HALF_KL: 1 - 1 -\n",
" ZERO_HALF_R: 427 321 537 316\n",
" ZERO_HALF_RB: 73 77 105 70\n",
" ZERO_HALF_RBP: 23 34 43 12\n",
"\n",
"LNS stats Improv/Calls Closed Difficulty TimeLimit\n",
" 'graph_arc_lns': 3/44 48% 3.26e-01 0.10\n",
" 'graph_cst_lns': 6/39 49% 5.89e-01 0.10\n",
" 'graph_dec_lns': 2/35 49% 6.90e-01 0.10\n",
" 'graph_var_lns': 4/45 51% 7.03e-01 0.10\n",
" 'rins/rens': 37/39 49% 4.09e-01 0.10\n",
" 'rnd_cst_lns': 4/37 51% 7.57e-01 0.10\n",
" 'rnd_var_lns': 1/37 51% 7.65e-01 0.10\n",
"\n",
"LS stats Batches Restarts/Perturbs LinMoves GenMoves CompoundMoves Bactracks WeigSolution repositories Added Queried Synchro\n",
" 'alternative_path': 14 99 14\n",
" 'best_solutions': 72 246 45\n",
" 'fj solution hints': 0 0 0\n",
" 'lp solutions': 150 39 122\n",
" 'pump': 0 0\n",
"\n",
"htUpdates ScoreComputed\n",
" 'ls_restart': 8 6 101'670 0 0 0 19'885 3'674'415\n",
" 'ls_restart_compound': 6 4 0 92'468 8'148 42'145 472 2'667'284\n",
" 'ls_restart_compound_perturb': 7 7 0 106'701 10'300 48'192 784 3'067'327\n",
" 'ls_restart_decay': 9 7 139'474 0 0 0 2'294 3'190'097\n",
" 'ls_restart_decay_compound': 3 2 0 38'726 6'654 16'028 75 1'244'003\n",
" 'ls_restart_decay_compound_perturb': 8 3 0 106'296 16'196 45'039 98 3'428'457\n",
" 'ls_restart_decay_perturb': 4 3 63'085 0 0 0 Clauses shared #Exported #Imported #BinaryRead #BinaryTotal\n",
" 'core': 646 824 1 1\n",
" 'default_lp': 5 1'283 1 1\n",
" 'max_lp': 7 1'278 1 1\n",
" 'no_lp': 828 459 1 1\n",
" 'quick_restart': 7 1'279 1 1\n",
" 'reduced_costs': 5 850 0 1\n",
"\n",
"LRAT_status: NA\n",
" 1'019 1'445'578\n",
" 'ls_restart_perturb': 9 8 115'999 0 0 0 18'169 4'246'774\n",
"\n",
"Solutions (7) Num Rank\n",
" 'complete_hint': 2 [0,1]\n",
" 'graph_arc_lns': 4 [2,5]\n",
" 'graph_cst_lns': 2 [3,4]\n",
" 'graph_var_lns': 2 [6,7]\n",
" 'rins_lp_lns': 2 [1,2]\n",
" 'rnd_cst_lns': 2 [5,6]\n",
"\n",
"Objective bounds Num\n",
" 'am1_presolve': 1\n",
" 'default_lp': 1\n",
" 'initial_domain': 1\n",
" 'max_lp': 8\n",
" 'reduced_costs': 23\n",
"\n",
"Solution repositories Added Queried Synchro\n",
" 'alternative_path': 14 99 14\n",
" 'best_solutions': 72 246 45\n",
" 'fj solution hints': 0 0 0\n",
" 'lp solutions': 150 39 122\n",
" 'pump': 0 0\n",
"\n",
"Clauses shared #Exported #Imported #BinaryRead #BinaryTotal\n",
" 'core': 646 824 1 1\n",
" 'default_lp': 5 1'283 1 1\n",
" 'max_lp': 7 1'278 1 1\n",
" 'no_lp': 828 459 1 1\n",
" 'quick_restart': 7 1'279 1 1\n",
" 'reduced_costs': 5 850 0 1\n",
"\n",
"LRAT_status: NA\n",
"[Scaling] scaled_objective_bound: 228794 corrected_bound: 228794 delta: -1.01153e-06\n",
"[Scaling] scaled_objective_bound: 228794 corrected_bound: 228794 delta: -1.01153e-06\n",
"CpSolverResponse summary:\n",
"status: FEASIBLE\n",
"objective: 240715.1599014539\n",
"best_bound: 228793.8880620581\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.1049\n",
"usertime: 40.1049\n",
"deterministic_time: 124.345\n",
"gap_integral: 1168.19\n",
"solution_fingerprint: 0x91194cc2586fc39b\n",
"\n",
"CpSolverResponse summary:\n",
"status: FEASIBLE\n",
"objective: 240715.1599014539\n",
"best_bound: 228793.8880620581\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.1049\n",
"usertime: 40.1049\n",
"deterministic_time: 124.345\n",
"gap_integral: 1168.19\n",
"solution_fingerprint: 0x91194cc2586fc39b\n",
"\n"
]
},
{
"data": {
"text/plain": [
"SolutionInfo(runtime=40.104914893, bound=228793.88806205813, objective=240715.15990145394, relgap=0.049524391584959804, 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.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
}