Learning_Large_Neighborhood_Search_Policy_for_Integer_Programming

Wu, Yaoxin, et al. /Learning Large Neighborhood Search Policy for Integer Programming./NeurIPS-2021

Learning Large Neighborhood Search Policy for Integer Programming

\

1. Problem Definition

조합최적화 문제는 NP-hardness로 정확한 해를 효율적으로 찾아내기가 힘들다는 특징을 가지고 있습니다. 따라서 다양한 휴리스틱 방식을 통해 풀어내는데, 여기서 휴리스틱 방식은 비슷한 구조가 반복되면서 해를 찾아나가는 특성을 가지고 있다는 것이 이러한 방식으로 자동으로 학습할 수 있는 머신러닝의 도입 계기가 됩니다. 머신러닝 기법을 이용하여 풀어내는 휴리스틱 방식을 크게 Constructive heuristics, improvement heuristics로 나뉘는데 본 논문에서 개선하고자하는 LNS방식은 풀이는 improvement heuristics 방식에 속하게 됩니다. initial solution을 기반으로 해를 조금씩 바꿔가며 구하는 improvement heuristics의 LNS 기법을 조합최적화 문제 뿐만이 아닌 보다 general한 IP문제를 풀기 위해 bipartite graph, Action factorization등의 방법을 이용하여 제한 시간동안 좋은 해를 찾는 방법을 제안합니다.

\

2. Motivation

\

3. METHOD

LNS Framework은 MDP Formulation, large scale action space에 대한 factorized representation, policy parametrize, policy network을 학습하는 actor-critic이렇게 크게 4개로 나뉘게 됩니다.

MDP formulation

Action : destroy하여 reoptimize를 할 variable들을 선택하는 것입니다.

\

Action factorization

Variable 수가 linear하게 늘어날 때 variable을 선택하는 action space는 exponentially하게 늘어납니다. RL알고리즘을 적용하기 위해서는 어마하게 큰 action space를 exploration하고 모든 action을 representation 해야되는 이슈가 발생을 하게 되는데 논문에서는 action factorization를 이용하여 보다 효율적으로 해결할 수 있다고 합니다. 이는 전체 variable n개에서 destroy variable을 선택할 확률을 각 variable $x_i$를 선택할지 말지에 대한 확률 n개의 곱으로 나타낸다는 것입니다.

\

Policy parametrization

Policy network는 GNN 기반으로 모든 variable들이 같은 parameter들을 공유하고 있습니다.

위 그림의 예시를 보면, bipartite graph로 state를 나타낸 것을 볼 수 있습니다.

각 노드들의 embedding은 Graph Convolutional Network 구조를 이용하는데

다음과 같이 각 variable node와 constaint node들이 업데이트 됩니다.

\

Training algorithm

actor-critic

clipping & masking

4. Experiment Dataset

실험은 4개의 NP-Hard문제에 대한 dataset을 생성하여 진행되었습니다. 위의 표를 보면 각 생성한 dataset들의 Training에 해당하는 부분의 변수와 제약식의 수, 원래 training한 문제보다 더 큰 사이즈에 적용하기 위한 dataset들로 구성되어있습니다.

  1. Set Covering(SC)

    특정 Set(=집합)이 존재한다고 가정했을 때, Sub sets(=부분 집합)들이 합쳐져 특정 set을 나타낼 수 있는지에 대한 문제입니다. 1000개의 column(변수)과 5000개의 row(제약식)을 생성하였습니다.

  2. Maximal Independent Set(MIS)

    graph에서 서로 인접하지 않은 vertex의 집합을 Independent Set이라 부르는데 이 Independent Set들중 가장 vertex의 수가 많은 것을 찾는 문제입니다. Erdos-Rényi random graphs를 이용하여1500개의 column(변수)와 affinity number를 4로 설정하여 생성하였습니다.

  3. Combinatoraial Auction(CA)

    구매자들이 원하는 상품들을 조합해서 판매자의 이익을 최대로 하는 구매하는 문제입니다.

    입찰자 4000명 상품을 2000개를 arbitary한 관계를 가지도록 생성하였습니다.

  4. Maximum Cut(MC)

    부분 집합 로부터 그 여집합 까지를 횡단하는 변의 무게 의 총합이 최대가 되는 그래프의 정점 의 부분 집합 를 구하는 것입니다. 그래프는 arabasi-Albert random graph models로부터 생성하였고 평균 degree는 4, graph 노드 수는 500개로하였습니다.

Baseline

  • SCIP : IP문제를 푸는 solver로 모든 LNS기법 후 선택된 해들을 re-optimize할 solver이다

  • U-LNS : re-optimize할 변수들을 uniform하게 선택하는 LNS 방식이다.

  • R-LNS : 선택될 변수의 갯수를 fix하고 전체 변수들 중 그 수만큼 random하게 선택하는 LNS방식이다. (2-5사이의 변수를 선택하였고 그 중 성능이 가장 좋은 갯수를 선정하였다.)

  • FT-LNS : R-LNS방식을 통해 가장 좋은 trajectory들을 모아 그 선택방식을 지도학습으로 학습하는 LNS방식이다.

Performance metric

  • objective value

    Result

즉 문제의 사이즈가 커지면 커질수록 작은 문제로 쪼개서 푸는 LNS방식이 제한된 시간내에 더 효율적인 것을 확인할 수 있고, 본 논문에서 제시한 방법론이 현재까지 나온 LNS 방식 중 가장 좋은 솔루션을 제시한다는 것을 확인할 수 있습니다.

\

5. Conclusion

본 논문에서는 제안된 시간내에 IP문제를 빠르고 좋은 성능을 내도록 하는 LNS 기반의 policy를 학습하는 RL 방법에 대해서 제안하였습니다. actor factorization이 이 논문에서 가장 중요한 아이디어라고 생각되며 이를 통해 모든 변수의 subset($2^n$)들을 고려하여 보다 general한 destroy operator를 만들 수 있었습니다. 또한 GNN기반의 policy network을 통하여 각 변수들간의 parameter를 공유함으로써 각 변수들의 policy를 보다 효율적으로 학습하고 actor-critic에서 global한 Q-network를 선택하되, action-factorization으로 표현한 policy를 통하여 광범위한 action space를 학습할 수 있었던 것 같습니다. 또한 작은 사이즈 문제로 학습한 문제가 보다 큰 문제 사이즈에서도 잘 푸는것을 보여주어 적당히 작은 시간내에 IP문제를 풀 때 적용할 여지가 충분하다는 것을 보여주었습니다.

\

개인적인 의견

destroy-operator를 학습시킬 때 re-optimize할 변수들의 수를 미리 정해두고 학습하여 유연하지 않았던 부분들에 대해 actor factorization 방법을 통해 보다 유연하게 destroy할 변수들을 고를 수 있도록 한 부분이 가장 흥미로웠던 것 같습니다. 또한 graph구조의 policy가 작은 문제 사이즈에 대해 학습하고 어느정도 사이즈에 대해 robust하게 잘 작동할수 있게 하도록 도움을 준다고 생각이 들었습니다. 한가지 궁금했던 점은 만약 training size를 하나의 사이즈가 아니라 여러 사이즈로 학습한다면 그래프의 크기 변화에 대해서 학습을 하여 보다 더 generalization을 할 수 있을지에 대한 궁금점이 생기게 되었습니다.

  • Author Information

    • 손지우

      • Master Student in ISySE, KAIST

      • Interested in solving Combinatorial Problem via deep reinforcement learning

6. Reference & Additional materials

Last updated