# COMPARATIVE STUDIES BETWEEN MINIMUM SPANNING TREE ALGORITHMS AND SHORTEST PATHS TREE ALGORITHMS: APPLICATION TO THE OPTIMIZATION OF THE DRC ELECTRIC TRANSMISSION NETWORK.

Bopatriciat BOLUMA MANGATA<sup>1</sup>\*, OLAMBA KALONDA Paul <sup>2</sup>

<sup>1</sup>Faculty of Science and Technology, University of Kinshasa, Kinshasa, D.R.Congo

<sup>2</sup> Faculty of Polytechnic, University of Kinshasa, Kinshasa, D.R.Congo

Corresponding author: \* bopatriciat.boluma*@unikin.ac.cd*

Received Date: \*date

Accepted Date: \*date

Published Date: \*date

**HIGHLIGHTS**

  - Implementation of Pim's algorithm.

  - Implementation of KRUSKAL's algorithm.

  - Implementation of DIJKSTRA's algorithm.

  - Optimization of the D.R.Congo electric transmission network.

ABSTRACT

*This paper solves the problem of optimal modelling in a transmission network based on the minimum weight spanning tree method while comparing these results with those obtained by the shortest path method. More precisely, we have modelled the electrical transmission network passing through the twenty-six provinces of the Democratic Republic of Congo, based on the PRIM and KRUSKAL algorithms, which allow the calculation of the minimum weight spanning tree while comparing these results with those obtained by the DIJKSTRA algorithm, which is based on the calculation of shortest paths between the nodes of the network**. The aim is to minimize the investment in defining the overall architecture of the** DRC's electricity transmission **network. The** results of this work show that the cost of a network optimized by the minimum spanning tree algorithm is limited to a maximum of 36% of the cost of any other implementation of the same network. The savings that can be made by using the right optimization method when implementing power networks are not negligible and it is well worthwhile for decision-makers in this sector to keep this in mind.*

*Keywords:* Minimum weight spanning tree, Pim's algorithm, DIJKSTRA's algorithm, KRUSKAL's algorithm, Graph theory, Optimal modelling.

**  
**

**INTRODUCTION**

The rate of access to modern energy services, especially electricity, in both rural and urban areas of the Democratic Republic of Congo is very low. The proportion of the population without access to electricity in the Democratic Republic of Congo is higher than the proportion with access.

The Democratic Republic of Congo, located between 5°20' north longitude and 13°27' south of the Equator, with an area of 2,345,441km², subdivided into 26 provinces, and an estimated population of 72 million inhabitants, the majority of whom are rural, has an energy potential of 100,000 MW of hydroelectricity, of which 44,000 MW is concentrated at the Inga site and the remainder distributed throughout the rest of the Congolese territory. The installed capacity is 2,498.45 MW or 2.5%. The country also has significant potential in renewable energy sources such as solar, biomass, wind, methane gas, geothermal, etc.

In the Democratic Republic of Congo, the majority of the population lives in rural areas and does not have access to modern energy, particularly electricity. The electrification projects carried out to date by the Société Nationale d'Electricité (SNEL), which holds the major share in the distribution of electrical energy, have largely resulted in the electrification of certain urban centers. The electrification rate is 12.43% for a population of 71,804,000.

Thus, the populations of rural localities are for the most part left behind because of the lack of financial profitability of the projects, because of the scattered settlement in rural areas and also because of the low capacity of these populations to pay the electricity consumption bills. These rural populations, which have very little access to electrical energy, nevertheless play a major role in the mobilization of GDP.

Indeed, rural electrification contributes to the creation of wealth and employment in rural areas, especially when it is developed in a multisector manner, i.e. in synergy with other strategic sectors such as education, health, agriculture, livestock, fisheries, mining and water management, etc.

## Issue

In view of the contemporary demands and challenges posed by the increasing complexity of processes, systems science offers some of the most promising avenues for research and reflection.

The problem of transmission planning is how to develop the network in a cost-effective way in order to ensure the supply of electricity to consumers while meeting requirements on the reliability and quality of the electricity supplied.

This is a multi-criteria optimization problem that includes several NP-hard problems within it. One way to approach it is to solve the combinatorial optimization problems one after the other (Semassou, G. C. (2011).).

**Hypothesis**

Thus if we pose the problem of optimizing the electricity network as a problem of minimizing the length of the cables and the cost of the associated works and minimizing the joule losses in the network. We could consider the two combinatorial optimization problems as independent and therefore first solve the problem of minimizing the length of the cables (and the cost of the associated works) and once the optimal cable length network has been obtained solve the problem of minimizing the joule losses for this network.

In this work, we will limit ourselves to solving the problem of minimizing the length of the cables as we have neither the time nor the material resources to tackle the problem in its entirety.

**Methodology**

To solve the problem of optimal modelling of the electricity transmission network passing through the twenty-six provinces of the Democratic Republic of Congo, we will exploit graph theory while relying on the minimum weight spanning tree method while comparing these results with those obtained by the shortest path method (Granera, J. A., Valdivia, V. M., & Dávila, M. E. B. (2016).)**.**

## MODELLING

The Minimum Spanning Tree method is an important method in the design of an electrical transmission network (Latifah, U., & Sugiharti, E. (2015).).

Indeed, graphs are powerful representation tools and the minimum weight spanning tree can be interpreted in different ways depending on what the graph represents.

Generally speaking, if we consider a network in which a set of objects must be connected to each other, in our case the electrical energy sources and the houses, the minimum weight spanning tree is the way to build such a network by minimizing the cost reduced here to the weight of the edges (for example the total length of cable used to build an electrical network and the associated deployment work).

Thus, as mentioned in the previous section, we pose the problem of optimizing the electricity distribution network as a problem of minimizing the length of the cables and the cost of the associated works.

We have chosen to calculate the optimal amount of cable needed for the distribution network. We do not take into account in our calculation the energy sources such as hydroelectric power plants and the transmission network that connects them to the distribution network.

Our choice does not distort the issue as our aim is to draw the attention of decision makers to the need to use optimization methods when implementing electrification projects.

Insofar as the DRC has just implemented its political division into 26 provinces, it seems appropriate to think that electrification projects will take into account this new political reality. Of course, the location of hydroelectric power stations and their distribution across the country could lead to other, more efficient modelling.

Thus, in the context of modelling the electricity distribution network of 26 provinces of the DRC, we can construct a graph by linking the main towns of the provinces together (based on the idea of a total mesh) and then calculate the optimal network, which is none other than the minimal spanning tree (Michail, D., Kinable, J., Naveh, B., & Sichi, J. V. (2020).).

In fact, there are several algorithms for minimum spanning tree problems, namely the KRUSKAL and PRIM algorithms (Al Amin, I. H. (2014).). These allow the calculation of the minimum spanning tree. We will then compare the solutions obtained with the results found by the DIJKSTRA algorithm, which is based on the calculation of shortest paths between the nodes of the network (Dili, Y. N., Wulan, E. R., & Ilahi, F. (2021).).

## Concentration nodes

### The concentration levels in our transit network are the main towns of 26 provinces of the DRC, which are: BOENDE, BUKAVU, BUNIA, BUTA, GBADOLITE, GEMENA, GOMA, INONGO, ISIRO, KABINDA, KALEMIE, KAMINA, KANANGA, KENGE, KIKWIT, KINDU, KINSHASA, KISANGANI, KOLWEZI, LISALA, LUBUMBASHI, LUEBO, LUSAMBO, MATADI, MBANDAKA, and MBUJI-MAYI.

**Description of the optimization methods applied to this network**

The starting point of our work at this level is the construction of a graph with 26 vertices (provincial capitals) and 26 x 26 edges.

## IMPLEMENTATION 

## Determination of the weight matrix

The first step is to establish the cost matrix, which will only take into account the distances between the provincial capitals. It is clear that under this distance are hidden (the cost of the cable and the cost of the civil works needed to lay the cable. These two quantities are, as is well known, a function of the distance over which it has to be done).

![](630c9ebe4a56e_media/media/image1.png)

##### **Figure 1:** Sampling of distances between provinces using QGIS

This is how we obtained the cost matrix shown below:

![](630c9ebe4a56e_media/media/image2.png)

##### **Figure 2:** Cost matrix.

**Ordered list of links**

To conduct our study properly, we first normalized the data by taking each distance value divided by the largest distance, which is 2021, and then renamed the vertices from 0 to 25 and not from 1 to 26. We sorted the data in ascending order by cost. The file that will be read by our application to calculate the optimal quantities can be described as follows:

  - In the first row, 26 denotes the number of vertices;

  - In the second row, 650 denotes the numbers of arcs, when we are interested in the existence of all valid links in our weight matrix which is of order 26 x 26 = 676 while neglecting the 26 links with zero costs, otherwise we will have 325 when we simply consider the upper diagonal of our weight matrix;

  - In the following rows, the first column (e.g. 9) indicates the source, the second column (e.g. 25) indicates the destination and the third column (e.g. 0.0396) indicates the cost.

We present here a part of this file as an example. However, the entire file can be found in the appendix of this work.

##### **Figure 3:** Ordered list of costs.

##### **Figure 3:** Ordered list of costs.

## Constitution of the first level network

We have implemented a JAVA program in NetBeans to plot the provided graphs in a text file. The figure below summarizes the process for selecting the links that make up the first-level network and illustrates this network.

![](630c9ebe4a56e_media/media/image3.png)

##### **Figure 4:** The topology of the top-level network.

The cost of this network in a full mesh topology is the sum of the weights of all the edges of the network. This is 290.

## RESULTS

For the calculation of the optimal trees, we used java implementations of the KRUSKAL, PRIM and DIJKSTRA algorithms, provided by Robert Sedgewick and Kevin Wayne (Sedgewick, R., & Wayne, K. (2011).).

### Calculation of the optimal network

The results are the following minimum weight spanning trees (Fauzi, A. (2022).). :

**By the KRUSKAL algorithm**

Graphically, we can have a tree as follows:

![](630c9ebe4a56e_media/media/image4.png)

##### **Figure 6**: Minimum weight spanning tree graph obtained by the KRUSKAL algorithm

**By the PRIM algorithm**

Below is a graphical representation of this tree:

![](630c9ebe4a56e_media/media/image5.png)

##### **Figure 8:** Spanning tree graph of minimum weights obtained by the PRIM algorithm

We have just obtained our optimized network using the two minimum weight spanning tree algorithms (Sugianto, P. (2017).). We note that between the KRUSKAL algorithm and the PRIM algorithm, we have the same result from the point of view of minimum weight but a simple divergence on the side of choice of the links (Sumardi, H., Afnaria, A., & Panggabean, S. (2021).).

The minimal spanning tree is not unique. For a given graph, there may be several. In the case of our problem, the parameters that would allow the choice of one tree rather than another are: topological realities, the layout of the energy sources in the network and other aspects related to the specific losses and performances of an electrical network (Alves, A. D. S. (2016).).

Starting from the root node of the found tree, we will generate ten non-minimal spanning trees in the graph and compare the costs of these trees with the minimal spanning tree.

![](630c9ebe4a56e_media/media/image6.png)

##### **Figure 9:** Spanning tree 1 (total cost=21468 or 10.62)

![](630c9ebe4a56e_media/media/image7.png)

##### **Figure 10:** Spanning tree 2 (total cost=21314 or 10.55)

![](630c9ebe4a56e_media/media/image8.png)

##### **Figure 11:** Spanning tree 3 (total cost=22274 or 11.02)

##### So, we have for Spanning tree 4 (total cost=21152 or 10.47), Spanning tree 5 (total cost=23023 or 11.39), Covering tree 6 (total cost=22590 or 11.18), Covering tree 7 (total cost=20742 or 10.26), Spanning tree 8 (total cost=23515 or 11.64), Covering tree 9 (total cost=20536 or 10.16) and Spanning tree 10 (total cost=21033 or 10.41).

The table below gives a general overview of the costs of these cover trees, which are not minimum.

##### **Table 1:** Costs of 10 cover trees that are not minimum.

|                             | **ACP 1** | **ACP 2** | **ACP 3** | **ACP 4** | **ACP 5** | **ACP 6** | **ACP 7** | **ACP 8** | **ACP 9** | **ACP 10** |
| --------------------------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- | ---------- |
|                             | 999       | 475       | 1113      | 143       | 1013      | 1197      | 836       | 1708      | 379       | 566        |
|                             | 427       | 684       | 1054      | 1101      | 1743      | 475       | 291       | 1096      | 1473      | 427        |
|                             | 184       | 467       | 1029      | 1054      | 1029      | 1029      | 846       | 291       | 427       | 184        |
|                             | 1054      | 167       | 1055      | 184       | 1145      | 1054      | 949       | 966       | 1871      | 1206       |
|                             | 1101      | 595       | 1096      | 1871      | 1033      | 467       | 766       | 1743      | 467       | 1871       |
|                             | 1184      | 1282      | 805       | 966       | 1101      | 1871      | 751       | 808       | 1101      | 840        |
|                             | 1282      | 1871      | 966       | 291       | 1184      | 1101      | 1274      | 949       | 1184      | 1033       |
|                             | 1743      | 1743      | 1729      | 959       | 591       | 1184      | 1290      | 766       | 489       | 1001       |
|                             | 966       | 966       | 573       | 1174      | 903       | 1033      | 444       | 1296      | 595       | 1476       |
|                             | 291       | 1165      | 890       | 595       | 990       | 489       | 961       | 1274      | 703       | 990        |
|                             | 1165      | 1079      | 1282      | 591       | 670       | 959       | 828       | 1290      | 858       | 959        |
|                             | 990       | 959       | 489       | 990       | 1096      | 990       | 528       | 444       | 1443      | 1096       |
|                             | 573       | 670       | 1184      | 1729      | 1164      | 573       | 376       | 961       | 1729      | 1021       |
|                             | 1729      | 756       | 591       | 573       | 890       | 1729      | 756       | 821       | 670       | 1063       |
|                             | 808       | 376       | 599       | 756       | 196       | 756       | 573       | 528       | 291       | 573        |
|                             | 858       | 986       | 981       | 858       | 376       | 376       | 1729      | 756       | 292       | 890        |
|                             | 376       | 858       | 668       | 376       | 808       | 858       | 990       | 599       | 302       | 599        |
|                             | 981       | 528       | 528       | 981       | 949       | 528       | 1174      | 573       | 240       | 376        |
|                             | 528       | 143       | 299       | 961       | 640       | 143       | 489       | 1361      | 766       | 562        |
|                             | 640       | 299       | 1159      | 444       | 941       | 640       | 1101      | 990       | 640       | 143        |
|                             | 821       | 941       | 444       | 1290      | 1094      | 299       | 1569      | 489       | 1296      | 299        |
|                             | 444       | 1274      | 1274      | 1274      | 961       | 1094      | 595       | 1184      | 821       | 1159       |
|                             | 299       | 1296      | 751       | 299       | 444       | 1159      | 591       | 1101      | 1094      | 444        |
|                             | 751       | 1290      | 766       | 941       | 766       | 1290      | 427       | 467       | 961       | 1274       |
|                             | 1274      | 444       | 949       | 751       | 1296      | 1296      | 608       | 1054      | 444       | 981        |
| **Total cost**              | **21468** | **21314** | **22274** | **21152** | **23023** | **22590** | **20742** | **23515** | **20536** | **21033**  |
| **Total normalized cost :** | **10,62** | **10,55** | **11,02** | **10,47** | **11,39** | **11,18** | **10,26** | **11,64** | **10,16** | **10,41**  |

Thus, the table below compares the cost of these 10 trees with that of the minimum weight spanning tree.

Table 2: Cost comparison of the 10 trees with the minimum weight spanning tree

| **Tree number**  | **Shaft weight** | **Weight ACM/Shaft weight** | **Ratio (ACM Weight/Shaft Weight) in %.** |
| ---------------- | ---------------- | --------------------------- | ----------------------------------------- |
| ACM              | 3.0339           |                             |                                           |
| ACP<sub>1</sub>  | 10.64            | 0.2851                      | 28.51                                     |
| ACP<sub>2</sub>  | 10.55            | 0.2876                      | 28.76                                     |
| ACP<sub>3</sub>  | 11.02            | 0.2753                      | 27.53                                     |
| ACP<sub>4</sub>  | 10.47            | 0.2898                      | 28.98                                     |
| ACP<sub>5</sub>  | 11.39            | 0.2664                      | 26.64                                     |
| ACP<sub>6</sub>  | 11.18            | 0.2714                      | 27.14                                     |
| ACP<sub>7</sub>  | 10.26            | 0.2957                      | 29.57                                     |
| ACP<sub>8</sub>  | 11.64            | 0.2606                      | 26.06                                     |
| ACP<sub>9</sub>  | 10.16            | 0.2986                      | 29.86                                     |
| ACP<sub>10</sub> | 10.41            | 0.2914                      | 29.14                                     |

Thus the cost of the network using the minimum weight spanning tree is 28.51% of ACP<sub>1</sub> , 28.76% of ACP<sub>2</sub> and so on. As can be seen, the use of optimization allows for more than substantial savings.

## Shortest path calculation

Now we will run the same file from the beginning through another family of graph algorithms, the DIJKSTRA algorithm, which solves the shortest path problem in a graph.

The results of this algorithm will allow us to make a comparison with the results obtained by the minimum weight spanning tree algorithms.

In practice, we have implemented in JAVA language under ECLIPSE, the DIJKSTRA algorithm, which calculates the shortest paths in a graph provided as argument in a text file (Mohan, A., Leow, W. X., & Hobor, A. (2021, July).).

The result of our work, obtained by the DIJKSTRA algorithm, is summarized in the matrix below. However, the full result and the linkage routes are well exposed in the appendix of this work (Sholikhatin, S. A., Prasetyo, A. B., & Nurhopipah, A. (2020).).

![](630c9ebe4a56e_media/media/image9.png)

##### **Figure 19:** Calculation of shortest paths by the DIJKSTRA algorithm

We will now graphically present three shortest path trees for illustration purposes:

![](630c9ebe4a56e_media/media/image10.png)

##### **Figure 20:** Root 0 PCC tree

![](630c9ebe4a56e_media/media/image11.png)

**Figure 21:** Root 1 PCC tree

![](630c9ebe4a56e_media/media/image12.png)

##### **Figure 22:** Root PCC tree 18

## Comparison of the results obtained by the minimum spanning tree and shortest path tree methods.

The results obtained by the MST (Minimum Spanning Tree) method are different from the results obtained by the SPT (Shortest Paths Tree) method constructed by Dijsktra (Swathika, O. G., & Hemamalini, S. (2016).). Indeed, the result obtained by the shortest path method is indeed a spanning tree, but it minimizes the distance from the root to each vertex, and not the sum of the weights of the edges as can be seen in the minimum weight spanning tree method.

![](630c9ebe4a56e_media/media/image13.png)

##### **Figure 23:** The total cost by the DIJKSTRA algorithm

Therefore, we can establish a table that compares the total cost of each shortest path tree with the minimum weight spanning tree. The comparison is made by taking the cost of the minimum weight spanning tree divided by the cost of each corresponding shortest path tree (Lammich, P., & Nipkow, T. (2019).).

Table 3: Comparison of results between MST and PCC

| **Type of tree** | **Cost**    | **Comparison** | **ACM/PCC ratio in %.** |
| ---------------- | ----------- | -------------- | ----------------------- |
| ACM              | **3,03390** |                |                         |
| PCC<sub>0</sub>  | **9,3**     | **0,326**      | **32.6**                |
| PCC<sub>1</sub>  | **10,9**    | **0,278**      | **27.8**                |
| PCC<sub>2</sub>  | **14,1**    | **0,215**      | **21.5**                |
| PCC<sub>3</sub>  | **11**      | **0,275**      | **27.5**                |
| PCC<sub>4</sub>  | **12,4**    | **0,245**      | **24.5**                |
| PCC<sub>5</sub>  | **11,9**    | **0,256**      | **25.6**                |
| PCC<sub>6</sub>  | **11,8**    | **0,258**      | **24.8**                |
| PCC<sub>7</sub>  | **10,3**    | **0,295**      | **29.5**                |
| PCC<sub>8</sub>  | **12,3**    | **0,247**      | **24.7**                |
| PCC<sub>9</sub>  | **9,18**    | **0,33**       | **33**                  |
| PCC<sub>10</sub> | **12,3**    | **0,247**      | **24.7**                |
| PCC<sub>11</sub> | **11**      | **0,277**      | **27.7**                |
| PCC<sub>12</sub> | **8,78**    | **0,346**      | **34.6**                |
| PCC<sub>13</sub> | **11,4**    | **0,267**      | **26.7**                |
| PCC<sub>14</sub> | **10,3**    | **0,294**      | **29.4**                |
| PCC<sub>15</sub> | **8,73**    | **0,348**      | **34.8**                |
| PCC<sub>16</sub> | **12,6**    | **0,241**      | **24.1**                |
| PCC<sub>17</sub> | **9,55**    | **0,318**      | **31.8**                |
| PCC<sub>18</sub> | **13,4**    | **0,226**      | **22.6**                |
| PCC<sub>19</sub> | **10,8**    | **0,281**      | **28.1**                |
| PCC<sub>20</sub> | **15,2**    | **0,2**        | **20**                  |
| PCC<sub>21</sub> | **8,98**    | **0,338**      | **33.8**                |
| PCC<sub>22</sub> | **8,44**    | **0,359**      | **35.9**                |
| PCC<sub>23</sub> | **14,8**    | **0,206**      | **20.6**                |
| PCC<sub>24</sub> | **10,4**    | **0,291**      | **29.1**                |
| PCC<sub>25</sub> | **8,95**    | **0,339**      | **33.9**                |

As can be seen from this table, the cost of the minimum spanning tree network caps at 36% of the costs of the shortest path trees. The savings that can be made by using the right optimization method when implementing power networks are not negligible and it is well worthwhile for decision makers in this sector to remember this (Ayegba, P., Ayoola, J., Asani, E., & Okeyinka, A. (2020, March).).

# CONCLUSION

In this paper, we sought to optimize an electrical distribution network. We realized that the problem is a multi-criteria optimization problem containing several NP-hard problems.

Since it was impossible to tackle such a problem given the constraints on the time and material resources needed for such an undertaking, we focused on one part of the problem, namely minimizing the length of the cable and the civil engineering work required to lay it.

For this last problem, there are several algorithms in graph theory that can give us a solution, in particular the KRUSKAL and PRIM algorithms that compute the minimal spanning tree for a given graph (Sedgewick, R., & Wayne, K. (2011).).

We modelled the problem and carried out an implementation in Java based on the Java codes proposed in the literature for the KRUSKAL and PRIM algorithms. In order to better highlight the interest of our work, we have carried out a second implementation of our model based, this time, on the DIJKSTRA algorithm which calculates the shortest path between any node and any other node of the network.

The result of this work is that the cost of a network optimized by the minimum spanning tree algorithm is at most 36% of the cost of any other realization of the same network. As can be seen, the savings from optimizing are quite substantial.

We therefore invite the country's authorities in charge of electrification to use optimization techniques for any electrification project to reduce the cost.

This work can of course be applied in other areas, and continued in order to obtain the result of the optimization of the problem as a whole.

**REFERENCES**

Michail, D., Kinable, J., Naveh, B., & Sichi, J. V. (2020). JGraphT—A Java library for graph data structures and algorithms. *ACM Transactions on Mathematical Software (TOMS)*, *46*(2), 1-29.

Al Amin, I. H. (2014). Visualisasi pohon rentang minimum menggunakan algoritma kruskal dan prim. *Jurnal Ilmiah Dinamika Teknik*.

Sugianto, P. (2017). *KRUSKAL AND PRIM ALGORITHM COMPARISON* (Doctoral dissertation, Unika Soegijapranata).

Latifah, U., & Sugiharti, E. (2015). Penerapan Algoritma Prim dan Kruskal pada Jaringan Distribusi Air PDAM Tirta Moedal Cabang Semarang Utara. *UNNES Journal of Mathematics*, *4*(1).

Granera, J. A., Valdivia, V. M., & Dávila, M. E. B. (2016). Aplicación informática KPTS (Kruskal, Prim, Tabu Search). *Revista Científica de FAREM-Estelí*, (17), 81-90.

Fauzi, A. (2022). *Keefektifan algoritma kruskal dan prim dalam menyelesaikan optimasi jaringan listrik penyulang Sunan Ampel Kota Pasuruan* (Doctoral dissertation, Universitas Islam Negeri Maulana Malik Ibrahim).

Alves, A. D. S. (2016). Teoria dos grafos: algoritmo de Kruskal e Prim aplicado em análise de dados.

Sumardi, H., Afnaria, A., & Panggabean, S. (2021). Pengembangan Algoritma Prim untuk Menentukan Minimum Spanning Forest. *MAJAMATH: Jurnal Matematika dan Pendidikan Matematika*, *4*(1), 54-61.

Mohan, A., Leow, W. X., & Hobor, A. (2021, July). Functional Correctness of C Implementations of Dijkstra’s, Kruskal’s, and Prim’s Algorithms. In *International Conference on Computer Aided Verification* (pp. 801-826). Springer, Cham.

Dili, Y. N., Wulan, E. R., & Ilahi, F. (2021). Penyelesaian Masalah Transportasi untuk Mencari Solusi Optimal dengan Pendekatan Minimum Spanning Tree (MST) Menggunakan Algoritma Kruskal dan Algoritma Prim. *KUBIK: Jurnal Publikasi Ilmiah Matematika*, *6*(1), 44-50.

Sholikhatin, S. A., Prasetyo, A. B., & Nurhopipah, A. (2020). IMPLEMENTASI ALGORITMA KRUSKAL DAN ALGORITMA PRIM SUATU GRAPH DENGAN APLIKASI BERBASIS DESKTOP. *Jurnal RESISTOR (Rekayasa Sistem Komputer)*, *3*(2), 89-93.

Lammich, P., & Nipkow, T. (2019). Proof pearl: purely functional, simple and efficient priority search trees and applications to Prim and Dijkstra. In *10th International Conference on Interactive Theorem Proving (ITP 2019)*. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.

Swathika, O. G., & Hemamalini, S. (2016). Prims-aided Dijkstra algorithm for adaptive protection in microgrids. *IEEE Journal of Emerging and Selected Topics in Power Electronics*, *4*(4), 1279-1286.

Ayegba, P., Ayoola, J., Asani, E., & Okeyinka, A. (2020, March). A comparative study of minimal spanning tree algorithms. In *2020 International Conference in Mathematics, Computer Engineering and Computer Science (ICMCECS)* (pp. 1-4). IEEE.

Semassou, G. C. (2011). *Aide à la décision pour le choix de sites et systèmes énergétiques adaptés aux besoins du bénin* (Doctoral dissertation, Bordeaux 1).

Sedgewick, R., & Wayne, K. (2011). *Einführung in die Programmierung mit Java*. Pearson Deutschland GmbH.
