diff --git a/optimierung_pymoo.ipynb b/optimierung_pymoo.ipynb
index 1be262c1cf5163293e1a2199e9bb866cad416603..5e580f8874e6c30a46d9a088c57df6134facba76 100644
--- a/optimierung_pymoo.ipynb
+++ b/optimierung_pymoo.ipynb
@@ -60,7 +60,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [
     {
@@ -90,7 +90,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 83,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [
     {
@@ -118,11 +118,13 @@
     "nodes =['source','pump1','pump2','valveA','valveB','valveC']\n",
     "graph = gr.construct_graph('source',('source','pump1',0.),('pump1','pump2',0.),('pump2','valveA',0.),('pump2','valveB',0.),\n",
     "                           ('pump1','valveC',0.),('valveA','source',4.),('valveB','source',4.),('valveC','source',4.))\n",
+    "\n",
+    "#ist das notwendig?!?\n",
     "for node in graph.nodes:\n",
     "        #definieren der Drehzahl für jede Pumpe im graphen\n",
     "        #inizieren des Durchflusses für jedes Ventil im Graphen\n",
     "        if 'pump' in node:\n",
-    "                graph.nodes[node]['n']=0.\n",
+    "                graph.nodes[node]['n']=750/3600\n",
     "        else:\n",
     "                graph.nodes[node]['n']=None\n",
     "        graph.nodes[node]['flow']=0.\n",
@@ -152,7 +154,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [
     {
@@ -164,27 +166,50 @@
       "  Coords\tValues\n",
       "  (0, 0)\t-1.0\n",
       "  (1, 0)\t1.0\n",
-      "  (0, 1)\t1.0\n",
-      "  (3, 1)\t-1.0\n",
-      "  (0, 2)\t1.0\n",
-      "  (4, 2)\t-1.0\n",
-      "  (0, 3)\t1.0\n",
-      "  (5, 3)\t-1.0\n",
-      "  (1, 4)\t-1.0\n",
-      "  (2, 4)\t1.0\n",
-      "  (1, 5)\t-1.0\n",
-      "  (5, 5)\t1.0\n",
-      "  (2, 6)\t-1.0\n",
-      "  (3, 6)\t1.0\n",
-      "  (2, 7)\t-1.0\n",
-      "  (4, 7)\t1.0\n"
+      "  (1, 1)\t-1.0\n",
+      "  (2, 1)\t1.0\n",
+      "  (1, 2)\t-1.0\n",
+      "  (5, 2)\t1.0\n",
+      "  (2, 3)\t-1.0\n",
+      "  (3, 3)\t1.0\n",
+      "  (2, 4)\t-1.0\n",
+      "  (4, 4)\t1.0\n",
+      "  (0, 5)\t1.0\n",
+      "  (3, 5)\t-1.0\n",
+      "  (0, 6)\t1.0\n",
+      "  (4, 6)\t-1.0\n",
+      "  (0, 7)\t1.0\n",
+      "  (5, 7)\t-1.0\n"
      ]
     }
    ],
    "source": [
     "import networkx as nx\n",
-    "Mtrx= nx.incidence_matrix(graph,nodes,oriented=True)\n",
-    "print(Mtrx)"
+    "Mtrx= nx.incidence_matrix(graph,nodes,oriented=True)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import networkx as nx\n",
+    "def create_dict(GR:nx.multidigraph):\n",
+    "    data={None:{'nodes':{},\n",
+    "                'pumps':{},\n",
+    "                'valves':{},\n",
+    "                }\n",
+    "                }\n",
+    "    for node in GR.nodes:\n",
+    "        data[None]['nodes'][node]=None\n",
+    "        data[None]['Q'][node]=GR.nodes[node]['flow']\n",
+    "        if 'pump' in node:\n",
+    "            data[None]['pumps'][node]=None\n",
+    "            data[None]['n'][node]=0.\n",
+    "        if 'valve' in node:\n",
+    "            data[None]['valves'][node]=None\n",
+    "    return data      "
    ]
   },
   {
@@ -200,35 +225,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 76,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "{None: {'nodes': ['source', 'pump1', 'pump2', 'valveA', 'valveB', 'valveC'], 'pumps': ['pump1', 'pump2'], 'valves': ['valveA', 'valveB', 'valveC'], 'Q': {'source': 12.0, 'pump1': 12.0, 'pump2': 8.0, 'valveA': 8.0, 'valveB': 8.0, 'valveC': 8.0}, 'n': {'source': None, 'pump1': 0.0, 'pump2': 0.0, 'valveA': None, 'valveB': None, 'valveC': None}}}\n",
-      "ERROR: Rule failed when initializing variable for Var n with index None:\n",
-      "AssertionError:\n",
-      "ERROR: Constructing component 'n' from data={'source': None, 'pump1': 0.0,\n",
-      "'pump2': 0.0, 'valveA': None, 'valveB': None, 'valveC': None} failed:\n",
-      "        AssertionError:\n"
-     ]
-    },
-    {
-     "ename": "AssertionError",
-     "evalue": "",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[1;31mAssertionError\u001b[0m                            Traceback (most recent call last)",
-      "Cell \u001b[1;32mIn[76], line 44\u001b[0m\n\u001b[0;32m     42\u001b[0m \u001b[38;5;28mprint\u001b[39m(TestData)\n\u001b[0;32m     43\u001b[0m data\u001b[38;5;241m=\u001b[39mDataPortal(data_dict\u001b[38;5;241m=\u001b[39mTestData)\n\u001b[1;32m---> 44\u001b[0m instance \u001b[38;5;241m=\u001b[39m \u001b[43mmodell\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate_instance\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m     46\u001b[0m \u001b[38;5;66;03m#Optimierungsgleichung\u001b[39;00m\n\u001b[0;32m     47\u001b[0m \u001b[38;5;66;03m#modell.pump_constraint = pyo.Constraint(expr=sum(modell.nodes[k] for k in modell.nodes)==0,rule=continuityRule)\u001b[39;00m\n\u001b[0;32m     48\u001b[0m \u001b[38;5;66;03m#instance=modell.create_instance(graph,LR_H)\u001b[39;00m\n\u001b[0;32m     49\u001b[0m \u001b[38;5;66;03m#instance.obj = pyo.Objective(expr=sum(PumpPower(modell.Q[i],modell.n[i],LR_P) for i in modell.pumps),sense=min)\u001b[39;00m\n",
-      "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\pyomo\\core\\base\\PyomoModel.py:734\u001b[0m, in \u001b[0;36mModel.create_instance\u001b[1;34m(self, filename, data, name, namespace, namespaces, profile_memory, report_timing, **kwds)\u001b[0m\n\u001b[0;32m    731\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m _namespaces:\n\u001b[0;32m    732\u001b[0m     _namespaces\u001b[38;5;241m.\u001b[39mappend(\u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m--> 734\u001b[0m \u001b[43minstance\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnamespaces\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_namespaces\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprofile_memory\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mprofile_memory\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    736\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[0;32m    737\u001b[0m \u001b[38;5;66;03m# Indicate that the model is concrete/constructed\u001b[39;00m\n\u001b[0;32m    738\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[0;32m    739\u001b[0m instance\u001b[38;5;241m.\u001b[39m_constructed \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n",
-      "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\pyomo\\core\\base\\PyomoModel.py:771\u001b[0m, in \u001b[0;36mModel.load\u001b[1;34m(self, arg, namespaces, profile_memory)\u001b[0m\n\u001b[0;32m    769\u001b[0m     msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCannot load model model data from with object of type \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m    770\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg \u001b[38;5;241m%\u001b[39m \u001b[38;5;28mstr\u001b[39m(\u001b[38;5;28mtype\u001b[39m(arg)))\n\u001b[1;32m--> 771\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_load_model_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdp\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnamespaces\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprofile_memory\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mprofile_memory\u001b[49m\u001b[43m)\u001b[49m\n",
-      "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\pyomo\\core\\base\\PyomoModel.py:823\u001b[0m, in \u001b[0;36mModel._load_model_data\u001b[1;34m(self, modeldata, namespaces, **kwds)\u001b[0m\n\u001b[0;32m    820\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m component\u001b[38;5;241m.\u001b[39mctype \u001b[38;5;129;01mis\u001b[39;00m Model:\n\u001b[0;32m    821\u001b[0m         \u001b[38;5;28;01mcontinue\u001b[39;00m\n\u001b[1;32m--> 823\u001b[0m     \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_initialize_component\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m    824\u001b[0m \u001b[43m        \u001b[49m\u001b[43mmodeldata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnamespaces\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcomponent_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprofile_memory\u001b[49m\n\u001b[0;32m    825\u001b[0m \u001b[43m    \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    827\u001b[0m \u001b[38;5;66;03m# Note: As is, connectors are expanded when using command-line pyomo but not calling model.create(...) in a Python script.\u001b[39;00m\n\u001b[0;32m    828\u001b[0m \u001b[38;5;66;03m# John says this has to do with extension points which are called from commandline but not when writing scripts.\u001b[39;00m\n\u001b[0;32m    829\u001b[0m \u001b[38;5;66;03m# Uncommenting the next two lines switches this (command-line fails because it tries to expand connectors twice)\u001b[39;00m\n\u001b[0;32m    830\u001b[0m \u001b[38;5;66;03m# connector_expander = ConnectorExpander()\u001b[39;00m\n\u001b[0;32m    831\u001b[0m \u001b[38;5;66;03m# connector_expander.apply(instance=self)\u001b[39;00m\n\u001b[0;32m    833\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m profile_memory \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m pympler_available:\n",
-      "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\pyomo\\core\\base\\PyomoModel.py:871\u001b[0m, in \u001b[0;36mModel._initialize_component\u001b[1;34m(self, modeldata, namespaces, component_name, profile_memory)\u001b[0m\n\u001b[0;32m    863\u001b[0m     logger\u001b[38;5;241m.\u001b[39mdebug(\n\u001b[0;32m    864\u001b[0m         \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConstructing \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m on \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m from data=\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m    865\u001b[0m         declaration\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m,\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m    868\u001b[0m         \u001b[38;5;28mstr\u001b[39m(data),\n\u001b[0;32m    869\u001b[0m     )\n\u001b[0;32m    870\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 871\u001b[0m     \u001b[43mdeclaration\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconstruct\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m    872\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m:\n\u001b[0;32m    873\u001b[0m     err \u001b[38;5;241m=\u001b[39m sys\u001b[38;5;241m.\u001b[39mexc_info()[\u001b[38;5;241m1\u001b[39m]\n",
-      "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\pyomo\\core\\base\\var.py:735\u001b[0m, in \u001b[0;36mVar.construct\u001b[1;34m(self, data)\u001b[0m\n\u001b[0;32m    732\u001b[0m index \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m    733\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m    734\u001b[0m     \u001b[38;5;66;03m# We do not (currently) accept data for constructing Variables\u001b[39;00m\n\u001b[1;32m--> 735\u001b[0m     \u001b[38;5;28;01massert\u001b[39;00m data \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m    737\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mindex_set()\u001b[38;5;241m.\u001b[39misfinite() \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_dense:\n\u001b[0;32m    738\u001b[0m         \u001b[38;5;66;03m# Note: if the index is not finite, then we cannot\u001b[39;00m\n\u001b[0;32m    739\u001b[0m         \u001b[38;5;66;03m# iterate over it.  This used to be fatal; now we\u001b[39;00m\n\u001b[0;32m    740\u001b[0m         \u001b[38;5;66;03m# just warn\u001b[39;00m\n\u001b[0;32m    741\u001b[0m         logger\u001b[38;5;241m.\u001b[39mwarning(\n\u001b[0;32m    742\u001b[0m             \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mVar \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m indexed by a non-finite set, but declared \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m    743\u001b[0m             \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwith \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdense=True\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m.  Reverting to \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdense=False\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m as \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m    746\u001b[0m             \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdense=False\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m%\u001b[39m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mname,)\n\u001b[0;32m    747\u001b[0m         )\n",
-      "\u001b[1;31mAssertionError\u001b[0m: "
+      "{None: {'nodes': ['source', 'pump1', 'pump2', 'valveA', 'valveB', 'valveC'], 'pumps': ['pump1', 'pump2'], 'valves': ['valveA', 'valveB', 'valveC']}}\n"
      ]
     }
    ],
@@ -246,37 +250,35 @@
     "modell.valves = pyo.Set()\n",
     "\n",
     "#Optimierungsvariable\n",
-    "modell.n = pyo.Var(modell.pumps,bounds=(750/3600,1))\n",
+    "modell.n = pyo.Var(modell.pumps,bounds=(0,1))\n",
     "modell.Q = pyo.Var(modell.nodes)\n",
     "\n",
     "#Objective\n",
     "def PumpPower(modell):\n",
-    "    return sum(np.dot(np.array([modell.Q[i]**3,(modell.Q[i]**2)*modell.n[i],modell.Q[i]*modell.n[i]**2,modell.n[i]**3]),LR_P.coef_) for i in modell.pumps)\n",
-    "modell.Power_Objective = pyo.Objective(rule=PumpPower,sense=min)\n",
+    "    return sum(np.dot(\n",
+    "        np.array(\n",
+    "            [modell.Q[i]**3,(modell.Q[i]**2)*modell.n[i],modell.Q[i]*modell.n[i]**2,modell.n[i]**3]\n",
+    "            ),LR_P.coef_\n",
+    "            ) for i in modell.pumps)\n",
+    "modell.Power_Objective = pyo.Objective(rule=PumpPower,sense=pyo.minimize)\n",
     "\n",
     "#Constaints\n",
     "def continuityRule(modell,node):\n",
     "    return sum(modell.Q[i] for i in graph.predecessors(node))==sum(modell.Q[j] for j in graph.successors(node))\n",
-    "\n",
+    "#alternative\n",
+    "def continuityRule2(modell,node):\n",
+    "    return 0.==sum(graph[node][i][0]['weight'] for i in graph[node])\n",
     "#continuity adjustment for change in hight needed\n",
     "#construction of test Data dictionairy missing\n",
-    "dict_Q={}\n",
-    "dict_n={}\n",
-    "for key in graph.nodes.keys():\n",
-    "    dict_Q[key]=graph.nodes[key]['flow']\n",
-    "    dict_n[key]=graph.nodes[key]['n']\n",
     "TestData={\n",
     "    None:{\n",
     "           'nodes':[key for key in graph.nodes.keys()],\n",
     "           'pumps':[key for key in graph.nodes.keys() if 'pump' in key],\n",
     "           'valves':[key for key in graph.nodes.keys() if 'valve' in key],\n",
-    "           'Q': dict_Q,\n",
-    "           'n': dict_n\n",
     "    }\n",
     "}\n",
     "print(TestData)\n",
-    "data=DataPortal(data_dict=TestData)\n",
-    "instance = modell.create_instance(data)\n",
+    "#data=DataPortal(data_dict=TestData)\n",
     "\n",
     "#Optimierungsgleichung\n",
     "#modell.pump_constraint = pyo.Constraint(expr=sum(modell.nodes[k] for k in modell.nodes)==0,rule=continuityRule)\n",
@@ -295,6 +297,76 @@
     "\n"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "SCIP version 9.2.0 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Soplex 7.1.2] [GitHash: 74cea9222e]\n",
+      "Copyright (c) 2002-2024 Zuse Institute Berlin (ZIB)\n",
+      "\n",
+      "External libraries: \n",
+      "  Soplex 7.1.2         Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: b040369c]\n",
+      "  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)\n",
+      "  TinyCThread 1.2      small portable implementation of the C11 threads API (tinycthread.github.io)\n",
+      "  MPIR 3.0.0           Multiple Precision Integers and Rationals Library developed by W. Hart (mpir.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.0         parallel presolve for integer and linear optimization (github.com/scipopt/papilo) (built with TBB) [GitHash: 2d9fe29f]\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.16        Interior Point Optimizer developed by A. Waechter et.al. (github.com/coin-or/Ipopt)\n",
+      "\n",
+      "user parameter file <scip.set> not found - using default parameters\n",
+      "read problem <C:\\Users\\STEINM~1\\AppData\\Local\\Temp\\tmptn91lkdj.pyomo.nl>\n",
+      "============\n",
+      "\n",
+      "original problem has 5 variables (0 bin, 0 int, 0 impl, 5 cont) and 1 constraints\n",
+      "\n",
+      "solve problem\n",
+      "=============\n",
+      "\n",
+      "feasible solution found by trivial heuristic after 0.0 seconds, objective value 0.000000e+00\n",
+      "presolving:\n",
+      "   (0.0s) symmetry computation started: requiring (bin +, int +, cont +), (fixed: bin -, int -, cont -)\n",
+      "   (0.0s) symmetry computation finished: 1 generators found (max: 1500, log10 of symmetry group size: 0.0) (symcode time: 0.00)\n",
+      "dynamic symmetry handling statistics:\n",
+      "   orbitopal reduction:       no components\n",
+      "   orbital reduction:         no components\n",
+      "   lexicographic reduction:    1 permutations with support sizes 4\n",
+      "handled 1 out of 1 symmetry components\n",
+      "presolving (1 rounds: 1 fast, 1 medium, 1 exhaustive):\n",
+      " 0 deleted vars, 0 deleted constraints, 0 added constraints, 0 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients\n",
+      " 0 implications, 0 cliques\n",
+      "presolved problem has 5 variables (0 bin, 0 int, 0 impl, 5 cont) and 1 constraints\n",
+      "      1 constraints of type <nonlinear>\n",
+      "Presolving Time: 0.00\n",
+      "transformed 3/3 original solutions to the transformed problem space\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "from pyomo.opt import SolverFactory\n",
+    "\n",
+    "opt = pyo.SolverFactory('scipampl', executable=r'C:\\Program Files\\SCIPOptSuite 9.2.0\\bin\\scip.exe')\n",
+    "instance = modell.create_instance(TestData)\n",
+    "result=opt.solve(instance, tee=True)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "opt"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,