Machine learning solution of combinatorial optimization problems

4 minute read

Published:

Notes from a lecture conference, introduced some progress of machine learning solving combinatorial optimization problems, especially combinatorial optimization problems on graphs, including autoregression-based methods and non-autoregression-based methods.

Machine learning solution of combinatorial optimization problems 1

CO and ML4CO

Combinatorial optimization

  • Combinatorial optimization is to find the optimal arrangement, grouping, order or screening of discrete events through the study of mathematical methods. The problem can be described mathematically as:

    \[min \quad f(x) \\ s.t. \quad g(x) \geq 0 \\ \qquad\quad x \in D\]

    Where $D$ is a set of finite points (the domain), $f$ is the objective function, and \(F= \{ x \ \vert \ x \in D, \ g(x) \geq 0 \}\) is the feasible region.

  • 0-1 knapsack problem, traveling salesman problem, minimum vertex cover problem, maximum cut problem and so on.

Machine learning for combinatorial optimization

Optimization algorithms

  • Mathematical Optimization algorithms - Exact algorithms (Exponential time)
    • Branch and bound, Branch and price, Branch and cut, Cutting plane, Lagrangian relaxation
  • Heuristic algorithms (Polynomial time)
    • Approximation algorithm, Greedy algorithm, Rule-based construction algorithm
  • Meta heuristic algorithms (Polynomial time)
    • Genetic algorithm, Ant colony algorithm, Tabu search, Simulated annealing
  • Machine learning methods (Polynomial time)
    • Supervised learning, Reinforcement learning, Graph neural networks

Combinatorial Optimization Solvers

  • Commercial Solvers
    • Gurobi, CPLEX, Matlab, Lingo, CMIP
  • Open Source Solvers
    • SCIP, LP_Solve, CBC, GLPK, MOSEK

Past and Now

  • Traditional solvers: Moderate scale, relatively stable, classical problem, theoretical guarantee
  • Machine learning: Super large scale, real-time change, complex system, weak optimization

Machine learning paradigms for solving CO problems

  • End-to-end solver $\rightarrow$ autoregressive/non-autoregressive $\rightarrow$ Learning heuristics
  • Local improvement solution $\rightarrow$ ML + Traditional operations algorithm $\rightarrow$ Improving OR Solvers

Combinatorial optimization problem solving on the graph

flowchart

```mermaid graph TD A[Input graph] --> B[Graph representation learning models] B --> C[Representation vector of nodes/edges] C --> D[Representation vector-based learning models] D --non-autoregressive--> E["Give all the predictions at once (Loss function based on the benchmark solution)"] E --Heuristic search rules--> F[Solution of the CO problem] D --autoregressive--> G["The predicted probability at each time step (Partial solution results at each time step)"] G --> H["Partial solution results at each time step (loss function based on the baseline solution or reward function based on RL)"] H --> F ```

Non-autoregressive algorithms

Autoregressive algorithms

Summary of autoregressive algorithms

Graph Representation Learning + Reinforcement Learning

  • Pros
    • The model generalizes well
    • The model works well
    • It has some interpretability
  • Cons
    • Model design and learning are difficult
    • Implementation is difficult

Some interesting research points

  1. How to combine with exact algorithms?
  2. How to combine with heuristics?
  3. How to improve generalization on large instances?
  4. How do you handle complex constraints?
  5. How to combine with mature solvers?
  6. How do you handle raw inputs that are more natural?
    • ChatGPT understands natural language problem requirements, models them automatically, and invokes a solver to solve them.
  1. This report is given by Assoc. Prof. Changjun FAN, National University of Defense Technology.