PDNS-DODE

Read full text
Authors: Yu Zhang
Cited by: 0

Abstract

PDNS-DODE: A Discrete Osprey Optimization and Differential Evolution Algorithm with PageRank Diffusion Neighborhood Search for Influence Maximization in Social Networks Description This repository provides the official implementation of PDNS-DODE, a discrete hybrid metaheuristic algorithm designed for the Influence Maximization (IM) problem in social networks. The method integrates a discretized Osprey Optimization Algorithm (OOA) with Differential Evolution (DE), enhanced by a novel PageRank-based Diffusion Neighborhood Search (PDNS) strategy. Seven real-world social network datasets are used in this study. The core framework of the algorithm is provided in the file.PDNS-DODE.py Dataset Information This work evaluates the algorithm on seven real-world social networks. The Email-Eu network contains 1,005 nodes and 25,571 edges, representing internal email communications. The Blog network has 3,982 nodes and 6,803 edges, modeling social relationships among blog users. The Wiki-Vote network comprises 7,115 nodes and 103,689 edges, capturing Wikipedia administrator elections. The NetHEPT network, with 15,229 nodes and 31,376 edges, is an academic co-authorship network from arXiv. Two additional arXiv collaboration networks are used: CA-AstroPh (18,772 nodes, 198,110 edges) for Astro Physics and CA-HepTh (9,877 nodes, 25,998 edges) for High Energy Physics Theory. Finally, the Brightkite location-based social network contains 58,228 nodes and 214,078 edges. All these datasets are publicly available from the Stanford Network Analysis Project (SNAP) and arXiv repositories. Code Information The core algorithm is implemented within the Python class in . This class encapsulates the complete optimization pipeline, integrating key components such as , the adaptive for neighborhood search, the for global exploration, the for local exploitation, and a final refinement.PDNS_DODEPDNS-DODE.pypagerank_descending_initializationpdns_strategydiscrete_ooa_phasediscrete_de_phaselocal_search Methodology The PDNS-DODE algorithm follows a sequential two-stage optimization pipeline. It begins with a PageRank-descending initialization to ensure population diversity. The global exploration phase employs a discretized Osprey Optimization Algorithm (OOA) to identify promising regions in the solution space. Subsequently, the local exploitation phase utilizes an influence-aware adaptive Differential Evolution (DE) to refine solutions. The core innovation is the PageRank Diffusion Neighborhood Search (PDNS), which dynamically adjusts the candidate search scope within a three-hop neighborhood. A final local search step further optimizes the seed set to escape local optima. Requirements 1. Basic Python Environment The code is developed and tested with Python 3.8.10 (compatible with Python 3.8+). 2. Core Dependencies (Tested Versions) Mandatory libraries for running the core PDNS-DODE algorithm: networkx 2.8.8: For graph construction and social network topology operations. numpy 1.23.5: For numerical computations (e.g., PageRank calculation, solution space optimization). 3. Optional Dependency influenceModel: For evaluating the Linear Threshold (LT and IC) influence diffusion model (used in the paper's experiments; not required for core algorithm execution). 4. Experimental Hardware (for Reproducibility) The experiments reported in the paper were conducted on a machine with: CPU: Intel Core i7-8750H RAM: 16 GB (Note: The algorithm is compatible with standard x86/x64 CPU architectures; no GPU acceleration is required.) Usage Instructions To run the algorithm: Install the required dependencies, primarily and , via pip (e.g., ).networkxnumpypip install networkx numpy Place your graph file (in edge-list format) in the working directory. Modify the variable in the block of to point to your file.graph__main__PDNS-DODE.py Adjust the parameters (, , , , , ) as needed.knmax_tdivcr_mincr_max Run the script: .python PDNS-DODE.py A complete usage example is provided in the section of the script.if __name__ == '__main__': Citations If you use this code, dataset, or any results from the associated research in your work, please cite the following manuscript (currently under review): @article{zhang2025pdnsdode, title={PDNS-DODE: A Discrete Osprey Optimization and Differential Evolution Algorithm with PageRank Diffusion Neighborhood Search for Influence Maximization in Social Networks}, author={Zhang, Yu and Li, Huan and Mo, Xinyue and Zeng, Xianhong and Na, Xiaoyu}, year={2025}, note={Manuscript submitted for publication.} } 9. License This project is licensed under the MIT License - see the LICENSE file for details. Permissions & Restrictions Permissions Restrictions ✅ Commercial use ❌ Liability ✅ Modification ❌ Warranty ✅ Distribution ✅ Private use Contribution Guidelines We welcome contributions to PDNS-DODE. Follow these steps: Fork the repository to your GitHub account. Create a feature branch for your changes. Ensure code complies with PEP 8 Python style guidelines. Commit changes with clear descriptive messages. Push your branch and open a Pull Request to the main repository. Pull Requests will be reviewed within 5 business days and merged after consistency checks.

Fields of Study & Subjects

Complex Network Analysis Techniques Metaheuristic Optimization Algorithms Research Opinion Dynamics and Social Influence

Publication details

Journal / source
Zenodo (CERN European Organization for Nuclear Research)
Publication date
16 January 2026