From 014c5c61358949429dc3856861adf1e752da01ed Mon Sep 17 00:00:00 2001 From: Bram Stoeller Date: Wed, 14 Dec 2022 15:11:07 +0100 Subject: [PATCH 1/2] without initialization -> pre-initialized Signed-off-by: Bram Stoeller --- Power Grid Model Benchmark.ipynb | 90 ++++++++++++++++---------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/Power Grid Model Benchmark.ipynb b/Power Grid Model Benchmark.ipynb index 040997d..20f33e9 100644 --- a/Power Grid Model Benchmark.ipynb +++ b/Power Grid Model Benchmark.ipynb @@ -36,8 +36,8 @@ "\n", "The notebook runs a power flow calculation with the same input data in `power-grid-model` and `pandapower`. It runs the following calculations:\n", "\n", - "* Single calculation with solver initialization.\n", - "* Single calculation without solver initialization (using pre-cached internal matrices).\n", + "* Single calculation.\n", + "* Pre-initialized single calculation (using pre-cached internal matrices).\n", "* Time-series calculation\n", "* N-1 calculation\n", "\n", @@ -112,10 +112,10 @@ " np.zeros(shape=(8, 5), dtype=np.float64),\n", " columns=['PGM Linear Impedance', 'PGM Linear Current' ,'PGM Newton-Raphson', 'PGM Iterative Current', 'PandaPower Newton-Raphson'],\n", " index=[\n", - " 'Symmetric calculation with solver initialization',\n", - " 'Symmetric calculation without solver initialization',\n", - " 'Asymmetric calculation with solver initialization',\n", - " 'Asymmetric calculation without solver initialization',\n", + " 'Symmetric calculation',\n", + " 'Symmetric calculation, pre-initialized',\n", + " 'Asymmetric calculation',\n", + " 'Asymmetric calculation, pre-initialized',\n", " 'Time series symmetric calculation',\n", " 'Time series asymmetric calculation',\n", " 'N-1 symmetric calculation',\n", @@ -310,8 +310,8 @@ "metadata": {}, "outputs": [], "source": [ - "benchmark_pgm_power_flow(symmetric=True, calculation_type='Symmetric calculation with solver initialization', with_intialization=True)\n", - "pgm_result = benchmark_pgm_power_flow(symmetric=True, calculation_type='Symmetric calculation without solver initialization', with_intialization=False)\n" + "benchmark_pgm_power_flow(symmetric=True, calculation_type='Symmetric calculation', with_intialization=True)\n", + "pgm_result = benchmark_pgm_power_flow(symmetric=True, calculation_type='Symmetric calculation, pre-initialized', with_intialization=False)\n" ] }, { @@ -333,13 +333,13 @@ "start = time.time()\n", "pp.runpp(pp_net, algorithm='nr', calculate_voltage_angles=True, distributed_slack=True, lightsim2grid=use_lightsim2grid)\n", "end = time.time()\n", - "summary_df.loc['Symmetric calculation with solver initialization', 'PandaPower Newton-Raphson'] = end - start\n", + "summary_df.loc['Symmetric calculation', 'PandaPower Newton-Raphson'] = end - start\n", "\n", - "# second calculation with existing solver\n", + "# second calculation with pre-initialized solver\n", "start = time.time()\n", "pp.runpp(pp_net, algorithm='nr', calculate_voltage_angles=True, distributed_slack=True, lightsim2grid=use_lightsim2grid)\n", "end = time.time()\n", - "summary_df.loc['Symmetric calculation without solver initialization', 'PandaPower Newton-Raphson'] = end - start" + "summary_df.loc['Symmetric calculation, pre-initialized', 'PandaPower Newton-Raphson'] = end - start" ] }, { @@ -386,8 +386,8 @@ "metadata": {}, "outputs": [], "source": [ - "benchmark_pgm_power_flow(symmetric=False, calculation_type='Asymmetric calculation with solver initialization', with_intialization=True)\n", - "pgm_result = benchmark_pgm_power_flow(symmetric=False, calculation_type='Asymmetric calculation without solver initialization', with_intialization=False)" + "benchmark_pgm_power_flow(symmetric=False, calculation_type='Asymmetric calculation', with_intialization=True)\n", + "pgm_result = benchmark_pgm_power_flow(symmetric=False, calculation_type='Asymmetric calculation, pre-initialized', with_intialization=False)" ] }, { @@ -409,13 +409,13 @@ "start = time.time()\n", "pp.runpp_3ph(pp_net, algorithm='nr', calculate_voltage_angles=True, distributed_slack=True, lightsim2grid=use_lightsim2grid)\n", "end = time.time()\n", - "summary_df.loc['Asymmetric calculation with solver initialization', 'PandaPower Newton-Raphson'] = end - start\n", + "summary_df.loc['Asymmetric calculation', 'PandaPower Newton-Raphson'] = end - start\n", "\n", - "# second calculation with existing solver\n", + "# second calculation with pre-initialized solver\n", "start = time.time()\n", "pp.runpp_3ph(pp_net, algorithm='nr', calculate_voltage_angles=True, distributed_slack=True, lightsim2grid=use_lightsim2grid)\n", "end = time.time()\n", - "summary_df.loc['Asymmetric calculation without solver initialization', 'PandaPower Newton-Raphson'] = end - start\n" + "summary_df.loc['Asymmetric calculation, pre-initialized', 'PandaPower Newton-Raphson'] = end - start\n" ] }, { @@ -1047,7 +1047,7 @@ " \n", " \n", " \n", - " Symmetric calculation with solver initialization\n", + " Symmetric calculation\n", " 0.000674\n", " 0.000581\n", " 0.001120\n", @@ -1055,7 +1055,7 @@ " 0.018997\n", " \n", " \n", - " Symmetric calculation without solver initialization\n", + " Symmetric calculation, pre-initialized\n", " 0.000271\n", " 0.000272\n", " 0.000758\n", @@ -1063,7 +1063,7 @@ " 0.015893\n", " \n", " \n", - " Asymmetric calculation with solver initialization\n", + " Asymmetric calculation\n", " 0.001913\n", " 0.001567\n", " 0.003933\n", @@ -1071,7 +1071,7 @@ " 0.888648\n", " \n", " \n", - " Asymmetric calculation without solver initialization\n", + " Asymmetric calculation, pre-initialized\n", " 0.000906\n", " 0.000655\n", " 0.003089\n", @@ -1116,50 +1116,50 @@ ], "text/plain": [ " PGM Linear Impedance \\\n", - "Symmetric calculation with solver initialization 0.000674 \n", - "Symmetric calculation without solver initializa... 0.000271 \n", - "Asymmetric calculation with solver initialization 0.001913 \n", - "Asymmetric calculation without solver initializ... 0.000906 \n", + "Symmetric calculation 0.000674 \n", + "Symmetric calculation, pre-initialized 0.000271 \n", + "Asymmetric calculation 0.001913 \n", + "Asymmetric calculation, pre-initialized 0.000906 \n", "Time series symmetric calculation 0.263931 \n", "Time series asymmetric calculation 0.947188 \n", "N-1 symmetric calculation 0.481238 \n", "N-1 asymmetric calculation 1.363434 \n", "\n", " PGM Linear Current \\\n", - "Symmetric calculation with solver initialization 0.000581 \n", - "Symmetric calculation without solver initializa... 0.000272 \n", - "Asymmetric calculation with solver initialization 0.001567 \n", - "Asymmetric calculation without solver initializ... 0.000655 \n", + "Symmetric calculation 0.000581 \n", + "Symmetric calculation, pre-initialized 0.000272 \n", + "Asymmetric calculation 0.001567 \n", + "Asymmetric calculation, pre-initialized 0.000655 \n", "Time series symmetric calculation 0.267153 \n", "Time series asymmetric calculation 0.472705 \n", "N-1 symmetric calculation 0.511463 \n", "N-1 asymmetric calculation 1.264282 \n", "\n", " PGM Newton-Raphson \\\n", - "Symmetric calculation with solver initialization 0.001120 \n", - "Symmetric calculation without solver initializa... 0.000758 \n", - "Asymmetric calculation with solver initialization 0.003933 \n", - "Asymmetric calculation without solver initializ... 0.003089 \n", + "Symmetric calculation 0.001120 \n", + "Symmetric calculation, pre-initialized 0.000758 \n", + "Asymmetric calculation 0.003933 \n", + "Asymmetric calculation, pre-initialized 0.003089 \n", "Time series symmetric calculation 0.709902 \n", "Time series asymmetric calculation 3.288390 \n", "N-1 symmetric calculation 1.022064 \n", "N-1 asymmetric calculation 3.805486 \n", "\n", " PGM Iterative Current \\\n", - "Symmetric calculation with solver initialization 0.000714 \n", - "Symmetric calculation without solver initializa... 0.000432 \n", - "Asymmetric calculation with solver initialization 0.001666 \n", - "Asymmetric calculation without solver initializ... 0.000886 \n", + "Symmetric calculation 0.000714 \n", + "Symmetric calculation, pre-initialized 0.000432 \n", + "Asymmetric calculation 0.001666 \n", + "Asymmetric calculation, pre-initialized 0.000886 \n", "Time series symmetric calculation 0.401892 \n", "Time series asymmetric calculation 0.929971 \n", "N-1 symmetric calculation 0.603250 \n", "N-1 asymmetric calculation 1.701366 \n", "\n", " PandaPower Newton-Raphson \n", - "Symmetric calculation with solver initialization 0.018997 \n", - "Symmetric calculation without solver initializa... 0.015893 \n", - "Asymmetric calculation with solver initialization 0.888648 \n", - "Asymmetric calculation without solver initializ... 0.180443 \n", + "Symmetric calculation 0.018997 \n", + "Symmetric calculation, pre-initialized 0.015893 \n", + "Asymmetric calculation 0.888648 \n", + "Asymmetric calculation, pre-initialized 0.180443 \n", "Time series symmetric calculation 18.355417 \n", "Time series asymmetric calculation 229.896856 \n", "N-1 symmetric calculation 15.211173 \n", @@ -1198,7 +1198,7 @@ " \n", " \n", " \n", - " Symmetric calculation with solver initialization\n", + " Symmetric calculation\n", " 28.17x\n", " 32.70x\n", " 16.97x\n", @@ -1206,7 +1206,7 @@ " 1.00x\n", " \n", " \n", - " Symmetric calculation without solver initialization\n", + " Symmetric calculation, pre-initialized\n", " 58.73x\n", " 58.47x\n", " 20.97x\n", @@ -1214,7 +1214,7 @@ " 1.00x\n", " \n", " \n", - " Asymmetric calculation with solver initialization\n", + " Asymmetric calculation\n", " 464.63x\n", " 567.06x\n", " 225.96x\n", @@ -1222,7 +1222,7 @@ " 1.00x\n", " \n", " \n", - " Asymmetric calculation without solver initialization\n", + " Asymmetric calculation, pre-initialized\n", " 199.11x\n", " 275.61x\n", " 58.42x\n", @@ -1305,4 +1305,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file From 2afe7b96c39cfd3d22206950108be64e2a758f0b Mon Sep 17 00:00:00 2001 From: Bram Stoeller Date: Wed, 14 Dec 2022 15:19:22 +0100 Subject: [PATCH 2/2] without initialization -> pre-initialized Signed-off-by: Bram Stoeller --- Power Grid Model Benchmark.ipynb | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/Power Grid Model Benchmark.ipynb b/Power Grid Model Benchmark.ipynb index 20f33e9..53a0d9f 100644 --- a/Power Grid Model Benchmark.ipynb +++ b/Power Grid Model Benchmark.ipynb @@ -113,9 +113,9 @@ " columns=['PGM Linear Impedance', 'PGM Linear Current' ,'PGM Newton-Raphson', 'PGM Iterative Current', 'PandaPower Newton-Raphson'],\n", " index=[\n", " 'Symmetric calculation',\n", - " 'Symmetric calculation, pre-initialized',\n", + " 'Pre-initialized Symmetric calculation',\n", " 'Asymmetric calculation',\n", - " 'Asymmetric calculation, pre-initialized',\n", + " 'Pre-initialized Asymmetric calculation',\n", " 'Time series symmetric calculation',\n", " 'Time series asymmetric calculation',\n", " 'N-1 symmetric calculation',\n", @@ -311,7 +311,7 @@ "outputs": [], "source": [ "benchmark_pgm_power_flow(symmetric=True, calculation_type='Symmetric calculation', with_intialization=True)\n", - "pgm_result = benchmark_pgm_power_flow(symmetric=True, calculation_type='Symmetric calculation, pre-initialized', with_intialization=False)\n" + "pgm_result = benchmark_pgm_power_flow(symmetric=True, calculation_type='Pre-initialized Symmetric calculation', with_intialization=False)\n" ] }, { @@ -339,7 +339,7 @@ "start = time.time()\n", "pp.runpp(pp_net, algorithm='nr', calculate_voltage_angles=True, distributed_slack=True, lightsim2grid=use_lightsim2grid)\n", "end = time.time()\n", - "summary_df.loc['Symmetric calculation, pre-initialized', 'PandaPower Newton-Raphson'] = end - start" + "summary_df.loc['Pre-initialized Symmetric calculation', 'PandaPower Newton-Raphson'] = end - start" ] }, { @@ -387,7 +387,7 @@ "outputs": [], "source": [ "benchmark_pgm_power_flow(symmetric=False, calculation_type='Asymmetric calculation', with_intialization=True)\n", - "pgm_result = benchmark_pgm_power_flow(symmetric=False, calculation_type='Asymmetric calculation, pre-initialized', with_intialization=False)" + "pgm_result = benchmark_pgm_power_flow(symmetric=False, calculation_type='Pre-initialized Asymmetric calculation', with_intialization=False)" ] }, { @@ -415,7 +415,7 @@ "start = time.time()\n", "pp.runpp_3ph(pp_net, algorithm='nr', calculate_voltage_angles=True, distributed_slack=True, lightsim2grid=use_lightsim2grid)\n", "end = time.time()\n", - "summary_df.loc['Asymmetric calculation, pre-initialized', 'PandaPower Newton-Raphson'] = end - start\n" + "summary_df.loc['Pre-initialized Asymmetric calculation', 'PandaPower Newton-Raphson'] = end - start\n" ] }, { @@ -1055,7 +1055,7 @@ " 0.018997\n", " \n", " \n", - " Symmetric calculation, pre-initialized\n", + " Pre-initialized Symmetric calculation\n", " 0.000271\n", " 0.000272\n", " 0.000758\n", @@ -1071,7 +1071,7 @@ " 0.888648\n", " \n", " \n", - " Asymmetric calculation, pre-initialized\n", + " Pre-initialized Asymmetric calculation\n", " 0.000906\n", " 0.000655\n", " 0.003089\n", @@ -1117,9 +1117,9 @@ "text/plain": [ " PGM Linear Impedance \\\n", "Symmetric calculation 0.000674 \n", - "Symmetric calculation, pre-initialized 0.000271 \n", + "Pre-initialized Symmetric calculation 0.000271 \n", "Asymmetric calculation 0.001913 \n", - "Asymmetric calculation, pre-initialized 0.000906 \n", + "Pre-initialized Asymmetric calculation 0.000906 \n", "Time series symmetric calculation 0.263931 \n", "Time series asymmetric calculation 0.947188 \n", "N-1 symmetric calculation 0.481238 \n", @@ -1127,9 +1127,9 @@ "\n", " PGM Linear Current \\\n", "Symmetric calculation 0.000581 \n", - "Symmetric calculation, pre-initialized 0.000272 \n", + "Pre-initialized Symmetric calculation 0.000272 \n", "Asymmetric calculation 0.001567 \n", - "Asymmetric calculation, pre-initialized 0.000655 \n", + "Pre-initialized Asymmetric calculation 0.000655 \n", "Time series symmetric calculation 0.267153 \n", "Time series asymmetric calculation 0.472705 \n", "N-1 symmetric calculation 0.511463 \n", @@ -1137,9 +1137,9 @@ "\n", " PGM Newton-Raphson \\\n", "Symmetric calculation 0.001120 \n", - "Symmetric calculation, pre-initialized 0.000758 \n", + "Pre-initialized Symmetric calculation 0.000758 \n", "Asymmetric calculation 0.003933 \n", - "Asymmetric calculation, pre-initialized 0.003089 \n", + "Pre-initialized Asymmetric calculation 0.003089 \n", "Time series symmetric calculation 0.709902 \n", "Time series asymmetric calculation 3.288390 \n", "N-1 symmetric calculation 1.022064 \n", @@ -1147,9 +1147,9 @@ "\n", " PGM Iterative Current \\\n", "Symmetric calculation 0.000714 \n", - "Symmetric calculation, pre-initialized 0.000432 \n", + "Pre-initialized Symmetric calculation 0.000432 \n", "Asymmetric calculation 0.001666 \n", - "Asymmetric calculation, pre-initialized 0.000886 \n", + "Pre-initialized Asymmetric calculation 0.000886 \n", "Time series symmetric calculation 0.401892 \n", "Time series asymmetric calculation 0.929971 \n", "N-1 symmetric calculation 0.603250 \n", @@ -1157,9 +1157,9 @@ "\n", " PandaPower Newton-Raphson \n", "Symmetric calculation 0.018997 \n", - "Symmetric calculation, pre-initialized 0.015893 \n", + "Pre-initialized Symmetric calculation 0.015893 \n", "Asymmetric calculation 0.888648 \n", - "Asymmetric calculation, pre-initialized 0.180443 \n", + "Pre-initialized Asymmetric calculation 0.180443 \n", "Time series symmetric calculation 18.355417 \n", "Time series asymmetric calculation 229.896856 \n", "N-1 symmetric calculation 15.211173 \n", @@ -1206,7 +1206,7 @@ " 1.00x\n", " \n", " \n", - " Symmetric calculation, pre-initialized\n", + " Pre-initialized Symmetric calculation\n", " 58.73x\n", " 58.47x\n", " 20.97x\n", @@ -1222,7 +1222,7 @@ " 1.00x\n", " \n", " \n", - " Asymmetric calculation, pre-initialized\n", + " Pre-initialized Asymmetric calculation\n", " 199.11x\n", " 275.61x\n", " 58.42x\n",