PyCommend VNS: A Multi-objective Python Library Recommendation Framework
摘要
Python’s Package Index hosts over 640,000 packages without standardized categorization, making library discovery difficult. This work formulates library recommendation as multi-objective combinatorial optimization balancing linked usage from project dependencies, semantic similarity from package descriptions, and recommendation set size. We implement Multi-Objective General Variable Neighborhood Search with domain-specific neighborhood structures for addition, removal, and swap operations. The framework processes 10,000 PyPI packages and co-occurrence patterns from 24,000 GitHub repositories. Experimental evaluation with 30 independent runs per algorithm across two context libraries shows MO-GVNS achieves significantly higher hypervolume than NSGA-II (37.4% improvement) and MOEA/D (48.7% improvement), while producing more Pareto-optimal solutions. To our knowledge, VNS has not been applied to library recommendation before.