{ "cells": [ { "cell_type": "markdown", "id": "5f6be665-2ab0-404e-b4f1-68e882887775", "metadata": {}, "source": [ "## SCIP example" ] }, { "cell_type": "code", "execution_count": 1, "id": "23c1c992-a563-4f2d-bbc8-cf0884e5b275", "metadata": {}, "outputs": [], "source": [ "from optiwindnet.importer import load_repository\n", "from optiwindnet.svg import svgplot\n", "from optiwindnet.mesh import make_planar_embedding\n", "from optiwindnet.interarraylib import G_from_S\n", "from optiwindnet.heuristics import EW_presolver\n", "from optiwindnet.MILP import solver_factory, ModelOptions" ] }, { "cell_type": "markdown", "id": "dd5d2195-9b34-4aed-bd09-8f52116d098a", "metadata": {}, "source": [ "### Initialize Sheringham Shoal" ] }, { "cell_type": "code", "execution_count": 2, "id": "29a6b5d1-a05f-4112-bf66-462b4d36b516", "metadata": {}, "outputs": [], "source": [ "locations = load_repository()" ] }, { "cell_type": "code", "execution_count": 3, "id": "6493ef36-765a-4cd3-9dc8-f2d952a23573", "metadata": {}, "outputs": [], "source": [ "L = locations.sheringham\n", "capacity = 6" ] }, { "cell_type": "code", "execution_count": 4, "id": "2a81cdd4-7be8-4da3-9b94-9799c6f1760b", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "svgplot(L)" ] }, { "cell_type": "markdown", "id": "5996b343-8973-49cb-8e34-d4b1161d625e", "metadata": {}, "source": [ "### Optimize Sheringham Shoal" ] }, { "cell_type": "code", "execution_count": 5, "id": "df05184d-7caa-4b34-810e-37c13a7a8092", "metadata": {}, "outputs": [], "source": [ "P, A = make_planar_embedding(L)" ] }, { "cell_type": "markdown", "id": "4f9b49b1-a597-4053-a3d1-f3de7bb8d164", "metadata": {}, "source": [ "Initial heuristic solution to warm-start the solver:" ] }, { "cell_type": "code", "execution_count": 6, "id": "19eb273d-f662-4851-bf09-e0ec532d7b8b", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "Σλ = 63471.0 m(+1) α: 8, β: 8κ = 6, T = 88" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Sʹ = EW_presolver(A, capacity=capacity)\n", "Gʹ = G_from_S(Sʹ, A)\n", "svgplot(Gʹ)" ] }, { "cell_type": "code", "execution_count": 7, "id": "977c294a-b052-4cba-97e8-a71b86b480f3", "metadata": {}, "outputs": [], "source": [ "solver = solver_factory('scip')" ] }, { "cell_type": "code", "execution_count": 8, "id": "ceb633e1-785a-4625-bf8a-c1fc4b5bd298", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Solver is not capable of warm-starting.\n" ] } ], "source": [ "solver.set_problem(\n", " P, A,\n", " capacity=Sʹ.graph['capacity'],\n", " model_options=ModelOptions(\n", " topology=\"branched\",\n", " feeder_route=\"segmented\",\n", " feeder_limit=\"unlimited\",\n", " ),\n", " warmstart=Sʹ,\n", ")" ] }, { "cell_type": "markdown", "id": "73ab52bb-067d-4e39-b8e7-bc92a3573e01", "metadata": {}, "source": [ "SCIP's Pyomo API does not offer the warm-starting capability yet." ] }, { "cell_type": "code", "execution_count": 9, "id": "71a448d2-3257-4c58-a7c4-d953b989ea75", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SCIP version 9.2.2 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 7.1.4] [GitHash: 416226a4f8]\n", "Copyright (c) 2002-2025 Zuse Institute Berlin (ZIB)\n", "\n", "External libraries: \n", " SoPlex 7.1.4 Linear programming solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: 7c53d552]\n", " CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)\n", " ZLIB 1.3.1 General purpose compression library by J. Gailly and M. Adler (zlib.net)\n", " GMP 6.3.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)\n", " ZIMPL 3.6.2 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)\n", " AMPL/MP 690e9e7 AMPL .nl file reader library (github.com/ampl/mp)\n", " PaPILO 2.4.2 parallel presolve for integer and linear optimization (github.com/scipopt/papilo) (built with TBB) [GitHash: 4b399c4c]\n", " Nauty 2.8.8 Computing Graph Automorphism Groups by Brendan D. McKay (users.cecs.anu.edu.au/~bdm/nauty)\n", " sassy 1.1 Symmetry preprocessor by Markus Anders (github.com/markusa4/sassy)\n", " Ipopt 3.14.17 Interior Point Optimizer developed by A. Waechter et.al. (github.com/coin-or/Ipopt)\n", "\n", "reading user parameter file \n", "===========================\n", "\n", "limits/time = 180\n", "limits/gap = 0.005\n", "\n", "read problem \n", "============\n", "\n", "original problem has 1992 variables (996 bin, 996 int, 0 impl, 0 cont) and 2986 constraints\n", "\n", "solve problem\n", "=============\n", "\n", " [linear] : [B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) +[B] (+0) == 88;\n", ";\n", "violation: left hand side is violated by 88\n", "all 1 solutions given by solution candidate storage are infeasible\n", "\n", "presolving:\n", " (0.0s) running MILP presolver\n", " (0.0s) MILP presolver (3 rounds): 2 aggregations, 0 fixings, 0 bound changes\n", "(round 1, medium) 2 del vars, 0 del conss, 0 add conss, 0 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 813 clqs\n", "(round 2, exhaustive) 2 del vars, 367 del conss, 0 add conss, 0 chg bounds, 365 chg sides, 0 chg coeffs, 0 upgd conss, 2 impls, 813 clqs\n", "(round 3, exhaustive) 2 del vars, 367 del conss, 0 add conss, 0 chg bounds, 365 chg sides, 0 chg coeffs, 2437 upgd conss, 2 impls, 813 clqs\n", " (0.0s) sparsify finished: 986/10504 (9.4%) nonzeros canceled - in total 986 canceled nonzeros, 986 changed coefficients, 0 added nonzeros\n", "(round 4, exhaustive) 2 del vars, 367 del conss, 0 add conss, 0 chg bounds, 365 chg sides, 986 chg coeffs, 2437 upgd conss, 1990 impls, 813 clqs\n", " (0.0s) probing cycle finished: starting next cycle\n", " (0.0s) symmetry computation started: requiring (bin +, int +, cont +), (fixed: bin -, int -, cont -)\n", " (0.0s) no symmetry present (symcode time: 0.00)\n", "presolving (5 rounds: 5 fast, 5 medium, 4 exhaustive):\n", " 2 deleted vars, 368 deleted constraints, 0 added constraints, 0 tightened bounds, 0 added holes, 365 changed sides, 986 changed coefficients\n", " 32220 implications, 8199 cliques\n", "presolved problem has 1990 variables (994 bin, 996 int, 0 impl, 0 cont) and 2618 constraints\n", " 1988 constraints of type \n", " 1 constraints of type \n", " 446 constraints of type \n", " 181 constraints of type \n", " 2 constraints of type \n", "Presolving Time: 0.00\n", "\n", " time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl. \n", "p 0.0s| 1 | 0 | 218 | - | clique| 0 |1990 |2618 |2618 | 0 | 0 | 0 | 0 | 1.450952e+03 | 8.244301e+04 |5581.99%| unknown\n", " 0.0s| 1 | 0 | 1820 | - | 30M | 0 |1990 |2650 |2618 | 0 | 0 | 32 | 0 | 5.997224e+04 | 8.244301e+04 | 37.47%| unknown\n", " 0.0s| 1 | 0 | 1898 | - | 32M | 0 |1990 |2650 |2632 | 14 | 1 | 32 | 0 | 6.000904e+04 | 8.244301e+04 | 37.38%| unknown\n", " 0.0s| 1 | 0 | 2092 | - | 36M | 0 |1990 |2650 |2645 | 27 | 2 | 32 | 0 | 6.006064e+04 | 8.244301e+04 | 37.27%| unknown\n", " 0.0s| 1 | 0 | 2188 | - | 41M | 0 |1990 |2651 |2654 | 36 | 3 | 33 | 0 | 6.011102e+04 | 8.244301e+04 | 37.15%| unknown\n", " 1.0s| 1 | 0 | 2242 | - | 47M | 0 |1990 |2651 |2661 | 43 | 4 | 33 | 0 | 6.012525e+04 | 8.244301e+04 | 37.12%| unknown\n", " 1.0s| 1 | 0 | 2379 | - | 53M | 0 |1990 |2651 |2670 | 52 | 5 | 33 | 0 | 6.015909e+04 | 8.244301e+04 | 37.04%| unknown\n", " 1.0s| 1 | 0 | 2496 | - | 60M | 0 |1990 |2651 |2677 | 59 | 6 | 33 | 0 | 6.018594e+04 | 8.244301e+04 | 36.98%| unknown\n", " 1.0s| 1 | 0 | 2607 | - | 60M | 0 |1990 |2651 |2683 | 65 | 7 | 33 | 0 | 6.023466e+04 | 8.244301e+04 | 36.87%| unknown\n", " 1.0s| 1 | 0 | 2701 | - | 64M | 0 |1990 |2651 |2688 | 70 | 8 | 33 | 0 | 6.024891e+04 | 8.244301e+04 | 36.84%| unknown\n", " 1.0s| 1 | 0 | 2797 | - | 64M | 0 |1990 |2651 |2692 | 74 | 9 | 33 | 0 | 6.026417e+04 | 8.244301e+04 | 36.80%| unknown\n", " 1.0s| 1 | 0 | 2899 | - | 75M | 0 |1990 |2651 |2698 | 80 | 10 | 33 | 0 | 6.027370e+04 | 8.244301e+04 | 36.78%| unknown\n", " 1.0s| 1 | 0 | 3046 | - | 75M | 0 |1990 |2652 |2703 | 85 | 11 | 34 | 0 | 6.028577e+04 | 8.244301e+04 | 36.75%| unknown\n", " 1.0s| 1 | 0 | 3090 | - | 76M | 0 |1990 |2652 |2706 | 88 | 12 | 34 | 0 | 6.029149e+04 | 8.244301e+04 | 36.74%| unknown\n", " 1.0s| 1 | 0 | 3172 | - | 76M | 0 |1990 |2652 |2709 | 91 | 13 | 34 | 0 | 6.029768e+04 | 8.244301e+04 | 36.73%| unknown\n", " time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl. \n", " 1.0s| 1 | 0 | 3281 | - | 76M | 0 |1990 |2652 |2713 | 95 | 14 | 34 | 0 | 6.030301e+04 | 8.244301e+04 | 36.71%| unknown\n", " 1.0s| 1 | 0 | 3417 | - | 77M | 0 |1990 |2652 |2719 | 101 | 15 | 34 | 0 | 6.031340e+04 | 8.244301e+04 | 36.69%| unknown\n", " 1.0s| 1 | 0 | 3471 | - | 77M | 0 |1990 |2652 |2700 | 106 | 16 | 34 | 0 | 6.031430e+04 | 8.244301e+04 | 36.69%| unknown\n", " 1.0s| 1 | 0 | 3518 | - | 78M | 0 |1990 |2652 |2704 | 110 | 17 | 34 | 0 | 6.031477e+04 | 8.244301e+04 | 36.69%| unknown\n", " 1.0s| 1 | 0 | 3603 | - | 78M | 0 |1990 |2652 |2708 | 114 | 18 | 34 | 0 | 6.031699e+04 | 8.244301e+04 | 36.68%| unknown\n", " 1.0s| 1 | 0 | 3643 | - | 78M | 0 |1990 |2653 |2712 | 118 | 19 | 35 | 0 | 6.031790e+04 | 8.244301e+04 | 36.68%| unknown\n", " 1.0s| 1 | 0 | 3723 | - | 79M | 0 |1990 |2653 |2713 | 119 | 20 | 35 | 0 | 6.031998e+04 | 8.244301e+04 | 36.68%| unknown\n", " 1.0s| 1 | 0 | 3752 | - | 79M | 0 |1990 |2653 |2715 | 121 | 21 | 35 | 0 | 6.032001e+04 | 8.244301e+04 | 36.68%| unknown\n", " 1.0s| 1 | 0 | 3763 | - | 79M | 0 |1990 |2653 |2702 | 122 | 22 | 35 | 0 | 6.032006e+04 | 8.244301e+04 | 36.68%| unknown\n", " 1.0s| 1 | 0 | 3764 | - | 79M | 0 |1990 |2653 |2703 | 123 | 23 | 35 | 0 | 6.032006e+04 | 8.244301e+04 | 36.68%| unknown\n", " 1.0s| 1 | 0 | 3765 | - | 79M | 0 |1990 |2653 |2704 | 124 | 24 | 35 | 0 | 6.032007e+04 | 8.244301e+04 | 36.68%| unknown\n", " 3.0s| 1 | 2 | 20095 | - | 79M | 0 |1990 |2661 |2704 | 124 | 25 | 43 | 19 | 6.032708e+04 | 8.244301e+04 | 36.66%| unknown\n", "d13.0s| 72 | 73 | 32920 | 413.7 |adaptive| 33 |1990 |2668 |2700 | 0 | 1 | 50 | 778 | 6.032915e+04 | 7.669140e+04 | 27.12%| unknown\n", "d13.0s| 91 | 92 | 35156 | 351.2 |fracdivi| 33 |1990 |2667 |2701 | 0 | 1 | 55 | 783 | 6.032915e+04 | 7.612285e+04 | 26.18%| unknown\n", " 13.0s| 100 | 101 | 35946 | 327.3 | 87M | 33 |1990 |2667 |2704 | 231 | 2 | 55 | 791 | 6.032915e+04 | 7.612285e+04 | 26.18%| unknown\n", " time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl. \n", "L15.0s| 191 | 188 | 55405 | 272.9 | gins| 35 |1990 |2680 |2703 | 295 | 1 | 68 | 851 | 6.032915e+04 | 7.202212e+04 | 19.38%| unknown\n", "L15.0s| 191 | 188 | 55405 | 272.9 | gins| 35 |1990 |2680 |2703 | 295 | 1 | 68 | 851 | 6.032915e+04 | 6.700018e+04 | 11.06%| unknown\n", "L15.0s| 191 | 186 | 55405 | 272.9 | gins| 35 |1990 |2680 |2703 | 295 | 1 | 68 | 851 | 6.032915e+04 | 6.617213e+04 | 9.69%| unknown\n", " 16.0s| 200 | 195 | 57151 | 269.4 | 87M | 35 |1990 |2692 |2712 | 320 | 1 | 81 | 851 | 6.032915e+04 | 6.617213e+04 | 9.69%| unknown\n", " 17.0s| 300 | 293 | 71733 | 228.0 | 89M | 35 |1990 |2694 |2680 | 408 | 1 | 83 | 900 | 6.032915e+04 | 6.617213e+04 | 9.69%| unknown\n", "L20.0s| 391 | 384 | 88557 | 218.0 | rins| 35 |1990 |2696 |2698 | 601 | 1 | 85 | 946 | 6.032915e+04 | 6.430224e+04 | 6.59%| unknown\n", " 20.0s| 400 | 393 | 89453 | 215.3 | 92M | 35 |1990 |2696 |2707 | 614 | 2 | 85 | 949 | 6.032915e+04 | 6.430224e+04 | 6.59%| unknown\n", "L21.0s| 491 | 469 |104195 | 205.4 | gins| 35 |1990 |2723 |2713 | 782 | 1 | 112 | 994 | 6.033601e+04 | 6.370747e+04 | 5.59%| unknown\n", " 22.0s| 500 | 478 |105021 | 203.4 | 93M | 35 |1990 |2723 |2718 | 787 | 2 | 112 | 996 | 6.033601e+04 | 6.370747e+04 | 5.59%| unknown\n", " 24.0s| 600 | 572 |128403 | 208.4 | 95M | 35 |1990 |2761 |2705 | 930 | 1 | 152 |1042 | 6.036352e+04 | 6.370747e+04 | 5.54%| unknown\n", "L28.0s| 691 | 656 |162404 | 230.2 | rins| 35 |1990 |2833 |2732 |1277 | 7 | 225 |1103 | 6.036407e+04 | 6.355215e+04 | 5.28%| unknown\n", " 29.0s| 700 | 665 |166671 | 233.4 | 98M | 35 |1990 |2844 |2718 |1322 | 2 | 236 |1106 | 6.036407e+04 | 6.355215e+04 | 5.28%| unknown\n", " 33.0s| 800 | 765 |195260 | 239.9 | 103M | 35 |1990 |2879 |2726 |1749 | 2 | 277 |1170 | 6.036919e+04 | 6.355215e+04 | 5.27%| unknown\n", "L37.0s| 891 | 843 |223125 | 246.7 |crossove| 35 |1990 |2930 |2726 |2283 | 2 | 332 |1229 | 6.039657e+04 | 6.348725e+04 | 5.12%| unknown\n", " 38.0s| 900 | 852 |237869 | 260.6 | 108M | 35 |1990 |2929 |2709 |2283 | 2 | 332 |1233 | 6.039657e+04 | 6.348725e+04 | 5.12%| unknown\n", " time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl. \n", " 42.0s| 1000 | 950 |269396 | 266.1 | 113M | 35 |1990 |3039 |2707 |2763 | 1 | 443 |1297 | 6.040571e+04 | 6.348725e+04 | 5.10%| unknown\n", " 48.0s| 1100 | 1046 |302989 | 272.5 | 118M | 35 |1990 |3122 |2701 |3418 | 2 | 532 |1379 | 6.041043e+04 | 6.348725e+04 | 5.09%| unknown\n", " 53.0s| 1200 | 1138 |339612 | 280.3 | 122M | 35 |1990 |3219 |2781 |4114 | 12 | 638 |1417 | 6.041801e+04 | 6.348725e+04 | 5.08%| unknown\n", " 59.0s| 1300 | 1234 |383774 | 292.7 | 124M | 35 |1990 |3260 |2733 |4766 | 1 | 697 |1444 | 6.042836e+04 | 6.348725e+04 | 5.06%| unknown\n", " 64.0s| 1400 | 1334 |423429 | 300.1 | 125M | 35 |1990 |3273 |2709 |5359 | 2 | 734 |1465 | 6.044086e+04 | 6.348725e+04 | 5.04%| unknown\n", " 69.0s| 1500 | 1428 |476622 | 315.6 | 126M | 35 |1990 |3398 |2738 |5924 | 1 | 887 |1479 | 6.044289e+04 | 6.348725e+04 | 5.04%| unknown\n", " 73.0s| 1600 | 1524 |509442 | 316.4 | 128M | 35 |1990 |3437 |2719 |6543 | 2 | 955 |1497 | 6.044961e+04 | 6.348725e+04 | 5.03%| unknown\n", " 79.0s| 1700 | 1622 |564361 | 330.1 | 130M | 37 |1990 |3465 |2724 |7111 | 2 |1022 |1513 | 6.045416e+04 | 6.348725e+04 | 5.02%| unknown\n", " 84.0s| 1800 | 1718 |611708 | 338.1 | 130M | 37 |1990 |3474 |2717 |7700 | 1 |1081 |1577 | 6.045788e+04 | 6.348725e+04 | 5.01%| unknown\n", " 87.0s| 1900 | 1816 |642957 | 336.7 | 132M | 37 |1990 |3519 |2703 |7860 | 2 |1170 |1617 | 6.045788e+04 | 6.348725e+04 | 5.01%| unknown\n", " 91.0s| 2000 | 1890 |675635 | 336.2 | 134M | 41 |1990 |3534 |2706 |8355 | 1 |1255 |1681 | 6.046060e+04 | 6.348725e+04 | 5.01%| unknown\n", " 95.0s| 2100 | 1982 |715508 | 339.2 | 135M | 41 |1990 |3503 |2730 |8872 | 2 |1302 |1706 | 6.046060e+04 | 6.348725e+04 | 5.01%| unknown\n", " 99.0s| 2200 | 2066 |745687 | 337.5 | 136M | 41 |1990 |3521 |2716 |9210 | 2 |1391 |1741 | 6.046119e+04 | 6.348725e+04 | 5.00%| unknown\n", " 105s| 2300 | 2148 |792091 | 343.0 | 137M | 44 |1990 |3551 |2741 |9906 | 2 |1486 |1776 | 6.046724e+04 | 6.348725e+04 | 4.99%| unknown\n", " 108s| 2400 | 2186 |815443 | 338.4 | 137M | 44 |1990 |3583 |2751 | 10k| 6 |1558 |1833 | 6.047158e+04 | 6.348725e+04 | 4.99%| unknown\n", " time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl. \n", " 113s| 2500 | 2248 |858543 | 342.1 | 138M | 44 |1990 |3570 |2740 | 10k| 1 |1591 |1866 | 6.047360e+04 | 6.348725e+04 | 4.98%| unknown\n", "L 114s| 2514 | 2005 |866740 | 343.5 | gins| 44 |1990 |3562 |2729 | 10k| 1 |1591 |1869 | 6.047644e+04 | 6.274750e+04 | 3.76%| unknown\n", " 119s| 2600 | 2073 |911588 | 349.4 | 141M | 44 |1990 |3533 |2728 | 11k| 2 |1631 |1884 | 6.048194e+04 | 6.274750e+04 | 3.75%| unknown\n", " 123s| 2700 | 2147 |942978 | 348.1 | 142M | 44 |1990 |3484 |2741 | 11k| 2 |1697 |1899 | 6.048350e+04 | 6.274750e+04 | 3.74%| unknown\n", " 124s| 2800 | 2207 |954527 | 339.8 | 142M | 44 |1990 |3537 |2716 | 11k| 1 |1832 |1913 | 6.048350e+04 | 6.274750e+04 | 3.74%| unknown\n", " 126s| 2900 | 2271 |973234 | 334.5 | 143M | 44 |1990 |3554 |2724 | 12k| 2 |1935 |1933 | 6.048382e+04 | 6.274750e+04 | 3.74%| unknown\n", " 128s| 3000 | 2329 |987778 | 328.2 | 144M | 44 |1990 |3598 |2730 | 12k| 2 |2070 |1948 | 6.048478e+04 | 6.274750e+04 | 3.74%| unknown\n", " 130s| 3100 | 2389 | 1008k| 324.3 | 144M | 44 |1990 |3533 |2732 | 12k| 2 |2123 |1965 | 6.048811e+04 | 6.274750e+04 | 3.74%| unknown\n", " 134s| 3200 | 2435 | 1034k| 322.4 | 145M | 44 |1990 |3457 | 0 | 13k| 0 |2161 |1978 | 6.049311e+04 | 6.274750e+04 | 3.73%| unknown\n", " 138s| 3300 | 2475 | 1061k| 320.6 | 149M | 44 |1990 |3428 |2722 | 13k| 2 |2228 |2023 | 6.049558e+04 | 6.274750e+04 | 3.72%| unknown\n", " 142s| 3400 | 2541 | 1089k| 319.3 | 152M | 44 |1990 |3398 |2720 | 14k| 3 |2312 |2065 | 6.049657e+04 | 6.274750e+04 | 3.72%| unknown\n", " 146s| 3500 | 2610 | 1123k| 320.1 | 153M | 44 |1990 |3361 |2743 | 14k| 9 |2403 |2100 | 6.050015e+04 | 6.274750e+04 | 3.71%| unknown\n", "L 148s| 3528 | 2621 | 1133k| 320.3 |crossove| 44 |1990 |3328 |2713 | 14k| 1 |2419 |2115 | 6.050192e+04 | 6.273482e+04 | 3.69%| unknown\n", " 152s| 3600 | 2675 | 1172k| 324.7 | 153M | 44 |1990 |3292 |2714 | 15k| 2 |2467 |2168 | 6.050236e+04 | 6.273482e+04 | 3.69%| unknown\n", " 155s| 3700 | 2726 | 1196k| 322.5 | 154M | 44 |1990 |3267 |2735 | 15k| 1 |2541 |2206 | 6.050502e+04 | 6.273482e+04 | 3.69%| unknown\n", " time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl. \n", " 158s| 3800 | 2766 | 1218k| 319.8 | 155M | 44 |1990 |3257 | 0 | 15k| 0 |2607 |2255 | 6.050736e+04 | 6.273482e+04 | 3.68%| unknown\n", " 160s| 3900 | 2808 | 1235k| 315.9 | 156M | 44 |1990 |3262 |2750 | 16k| 2 |2704 |2275 | 6.050976e+04 | 6.273482e+04 | 3.68%| unknown\n", " 163s| 4000 | 2870 | 1260k| 314.3 | 157M | 44 |1990 |3224 |2730 | 16k| 2 |2799 |2301 | 6.050977e+04 | 6.273482e+04 | 3.68%| unknown\n", " 165s| 4100 | 2914 | 1278k| 311.0 | 158M | 44 |1990 |3230 |2717 | 17k| 2 |2904 |2336 | 6.050977e+04 | 6.273482e+04 | 3.68%| unknown\n", " 168s| 4200 | 2954 | 1299k| 308.6 | 159M | 44 |1990 |3147 |2738 | 17k| 2 |2971 |2356 | 6.050977e+04 | 6.273482e+04 | 3.68%| unknown\n", " 173s| 4300 | 3008 | 1351k| 313.5 | 159M | 44 |1990 |3097 |2710 | 18k| 2 |3025 |2377 | 6.051376e+04 | 6.273482e+04 | 3.67%| unknown\n", " 176s| 4400 | 3035 | 1371k| 310.9 | 160M | 44 |1990 |3141 |2764 | 18k| 2 |3116 |2396 | 6.051787e+04 | 6.273482e+04 | 3.66%| unknown\n", "\n", "SCIP Status : solving was interrupted [time limit reached]\n", "Solving Time (sec) : 180.00\n", "Solving Nodes : 4493\n", "Primal Bound : +6.27348181165685e+04 (28 solutions)\n", "Dual Bound : +6.05215004916549e+04\n", "Gap : 3.66 %\n" ] }, { "data": { "text/plain": [ "SolutionInfo(runtime=, bound=60521.5004916549, objective=62734.8181165685, relgap=0.03528052987738006, termination='maxTimeLimit')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solver.solve(\n", " mip_gap=0.005,\n", " time_limit=180,\n", " verbose=True,\n", ")" ] }, { "cell_type": "code", "execution_count": 10, "id": "a62ff748-f1d4-49cc-85a7-b999a87a7839", "metadata": {}, "outputs": [], "source": [ "S, G = solver.get_solution()" ] }, { "cell_type": "code", "execution_count": 11, "id": "1ff2c18a-5372-4b67-a57b-12f5a2854cb9", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "Σλ = 62735.0 m(+1) α: 8, β: 8κ = 6, T = 88" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "svgplot(G)" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 5 }