Preference-Based Gradient Estimation for ML-Guided Approximate Combinatorial Optimization

Arman Mielke, Uwe Bauknecht, Thilo Strauss, Mathias Niepert
2/26/2025
cs.LGcs.AI

No confident code implementation found for this paper.

Abstract

Combinatorial optimization (CO) problems arise across a broad spectrum of domains, including medicine, logistics, and manufacturing. While exact solutions are often computationally infeasible, many practical applications require high-quality solutions within a given time budget. To address this, we propose a learning-based approach that enhances existing non-learned approximation algorithms for CO. Specifically, we parameterize these approximation algorithms and train graph neural networks (GNNs) to predict parameter values that yield near-optimal solutions. Our method is trained end-to-end in a self-supervised fashion, using a novel gradient estimation scheme that treats the approximation algorithm as a black box. This approach combines the strengths of learning and traditional algorithms: the GNN learns from data to guide the algorithm toward better solutions, while the approximation algorithm ensures feasibility. We validate our method on two well-known combinatorial optimization problems: the travelling salesman problem (TSP) and the minimum k-cut problem. Our results demonstrate that the proposed approach is competitive with state-of-the-art learned CO solvers.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{mielke2025preferencebased,
  title  = {Preference-Based Gradient Estimation for ML-Guided Approximate Combinatorial Optimization},
  author = {Arman Mielke and Uwe Bauknecht and Thilo Strauss and Mathias Niepert},
  year   = {2025},
  eprint = {2502.19377},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.19377v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2502.19377.svg)](https://codeofpaper.com/paper/2502.19377)

Discussion