Abstract
Graph partitioning is a classical NP problem. The goal of graphing partition is to have as few cut edges in the graph as possible. Meanwhile, the capacity limit of the shard should be satisfied. In this paper, a model for graph partitioning is proposed. Then the model is converted into a mixed 0-1 linear programming by introducing variables. In order to solve this model, we select some variables to design the vertex relocation model. This work designs a variable selection strategy according to the effect of vertex relocation on the number of local edges. For purpose of implementing graph partitioning on large scale graph, we design an iterative algorithm to solve the model by selecting some variables in each iteration. The algorithm relocates the shard of the vertex according to the solution of the model. In the experiment, the method in this paper is simulated and compared with BLP and its related methods in the different shard sizes on the five social network datasets. The simulation results show that the method of this paper works well. In addition, we compare the effects of different parameter values and variables selection strategies on the partitioning effect.
Similar content being viewed by others
Data availability
Enquiries about data availability should be directed to the authors.
References
Abbas Z, Kalavri V, Carbone P, Vlassov V (2018) Streaming graph partitioning: an experimental study. Proceed VLDB Endow 11(11):1590–1603
Boyd DM, Ellison NB (2007) Social network sites: definition, history, and scholarship. J Comput Med Commun 13(1):210–230
Bruglieri M, Cordone R (2021) Metaheuristics for the minimum gap graph partitioning problem. Comput Oper Res 132:105301
Bui TN, Jones C (1992) Finding good approximate vertex and edge partitions is np-hard. Inf Process Lett 42(3):153–159
Buluç A, Meyerhenke H, Safro I, Sanders P, Schulz C (2016) Recent advances in graph partitioning. Algorithm Eng, pp 117–158
Chiang WL, Liu X, Si S, Li Y, Bengio S, Hsieh CJ (2019) Cluster-gcn: An efficient algorithm for training deep and large graph convolutional networks. In: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp 257–266
Deng Z, Suel T (2021) Optimizing iterative algorithms for social network sharding. In: 2021 IEEE international conference on big data (big data), IEEE, pp 400–408
Desaulniers G, Desrosiers J, Solomon MM (2006) Column generation, vol 5. Springer Science & Business Media, London
Fan N, Pardalos PM (2010) Linear and quadratic programming approaches for the general graph partitioning problem. J Glob Optim 48(1):57–71
Fan N, Zheng QP, Pardalos PM (2011) On the two-stage stochastic graph partitioning problem. In: COCOA
Fiduccia CM, Mattheyses RM (1982) A linear-time heuristic for improving network partitions. In: 19th design automation conference, IEEE, pp 175–181
Henzinger A, Noe A, Schulz C (2020) ILP-based local search for graph partitioning. J Exp Algorithm (JEA) 25:1–26
Hungershöfer J, Wierum JM (2002) On the quality of partitions based on space-filling curves. In: International conference on computational science, Springer, pp 36–45
Kahng AB, Lienig J, Markov IL, Hu J (2011) VLSI physical design: from graph partitioning to timing closure. Springer Science & Business Media, London
Karp RM (1972) Reducibility among combinatorial problems. In: 50 years of integer programming
Kernighan BW, Lin S (1970) An efficient heuristic procedure for partitioning graphs. Bell Syst Techn J 49(2):291–307
Lawler EL, Wood DE (1966) Branch-and-bound methods: a survey. Oper Res 14:699–719
Leskovec J, Krevl A (2014) SNAP Datasets: Stanford large network dataset collection. http://snap.stanford.edu/data
Lisser A, Rendl F (2003) Graph partitioning using linear and semidefinite programming. Math Program 95(1):91–101
Mitchell JE (1988) Branch-and-cut algorithms for combinatorial optimization problems
Miyazawa FK, Moura PFS, Ota MJ, Wakabayashi Y (2019) Integer programming approaches to balanced connected k-partition. arXiv:1911.05723
Moussawi AE, Seghouani NB, Bugiotti F (2021) Bgrap: Balanced graph partitioning algorithm for large graphs
Nemhauser GL, Wolsey LA (1988) Integer and combinatorial optimization. In: Wiley interscience series in discrete mathematics and optimization
Nip K, Shi T, Wang Z (2022) Some graph optimization problems with weights satisfying linear constraints. J Comb Optimiz 43(1):200–225
Pothen A, Simon HD, Liou KP (1990) Partitioning sparse matrices with eigenvectors of graphs. SIAM J Matrix Anal Appl 11(3):430–452
Ugander J, Backstrom L (2013) Balanced label propagation for partitioning massive graphs. In: Proceedings of the sixth ACM international conference on Web search and data mining, pp 507–516
Zha H, He X, Ding C, Simon H, Gu M (2001) Bipartite graph partitioning and data clustering. In: Proceedings of the tenth international conference on information and knowledge management, Association for Computing Machinery, New York, NY, USA, CIKM ’01, p 25-32, 10.1145/502585.502591
Funding
The authors have not disclosed any funding.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors have not disclosed any competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Yang, Z., Jiang, Z., Yang, W. et al. Balanced graph partitioning based on mixed 0-1 linear programming and iteration vertex relocation algorithm. J Comb Optim 45, 121 (2023). https://doi.org/10.1007/s10878-023-01051-4
Accepted:
Published:
DOI: https://doi.org/10.1007/s10878-023-01051-4