
Security News
ESLint Adds Official Support for Linting HTML
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
A modular and user-friendly Python implementation of the Carousel Greedy algorithm.
py-carouselgreedy
is the first open-source Python library designed specifically for the Carousel Greedy algorithm, a flexible metaheuristic for solving a wide variety of combinatorial optimization problems. The library was developed with a focus on ease of use, modularity, and integration into experimental pipelines.
📄 Introduced in the Conference Paper:
Carousel Greedy: From Drone Photogrammetry to Social Network Analysis, A Systematic Survey and the First Open-Source Python Library
Raffaele Dragone, Carmine Cerrone, Bruce L. Golden
Presented at ODS 2025
Install from PyPI:
pip install py_carouselgreedy
from py_carouselgreedy import carousel_greedy
def my_feasibility(cg_instance, solution):
# Return True if solution is feasible
return ...
def my_greedy(cg_instance, solution, candidate):
# Return a score for the candidate
return ...
cg = carousel_greedy(
candidate_elements=[...],
test_feasibility=my_feasibility,
greedy_function=my_greedy
)
best_solution = cg.minimize(alpha=10, beta=0.2)
You can find full working examples in the examples/
folder:
minimum_vertex_cover.py
minimum_label_spanning_tree.py
Each example shows how to define a problem-specific greedy function and feasibility check using NetworkX or standard Python structures.
The Carousel Greedy algorithm is composed of four phases:
Users only need to define two functions:
greedy_function(cg_instance, solution, candidate)
test_feasibility(cg_instance, solution)
If you use this library in your research, please cite:
@inproceedings{dragone2025carousel,
title={Carousel Greedy: From Drone Photogrammetry to Social Network Analysis, A Systematic Survey and the First Open-Source Python Library},
author={Dragone, Raffaele and Cerrone, Carmine and Golden, Bruce L.},
booktitle={Optimization and Decision Science (ODS)},
year={2025}
}
Pull requests are welcome. For major changes, please open an issue first.
Questions? Suggestions? Reach out to:
raffaele.dragone@edu.unige.it
This project is licensed under the BSD 3-Clause License.
See the LICENSE file for details.
FAQs
A Python library implementing the Carousel Greedy Algorithm.
We found that py-carouselgreedy demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.