In this project, I've tried to face the Max-Mean Dispersion Problem using Tabu Search guided by a deep reinforcement learning algorithm during the dispersion phase.
Given a complete graph G(V, E) where each edge has associated a distance or affinity
This problem is known to be strongly NP-hard and has the characteristic that the subset
In 2020, Nijimbere et al. proposed an approach based on the combination of reinforcement learning and tabu search, named RLTS. The main idea is to use Q-Learning to build a high-quality initial solution, then improving it with a one-flip tabu search. Then Q-Learning algorithm is trained during the search of the solution, by giving a positive or negative reward if the node remain or not in the solution after the tabu search.
My proposed solution is to use a Deep Q-Network to generate the initial solution and tabu search to improve it, hence the name DQNTS. The approach is similar to \cite{nijimbere2020tabu}, the network learns a heuristic to build the initial solution, then uses a one-flip tabu search to improve that solution. The difference is that the DQN is pre-trained, hence there is no need to start with a random solution and I can generate a high-quality initial solution from the beginning.
The network architecture is based on "Learning combinatorial optimization algorithms over graphs" by Dai et al. The state2tens embedding is done with 4 features extracted from each node, which are:
- 1 if the node in the solution, 0 otherwise
- the sum of all edges connected to the node
- the sum of all edges connected to the node and the solution nodes
- the sum of all edges connected to the node and the nodes not in the solution
To train the network, first, we construct a feasible solution using an
The tabu search implementation is the same as in \cite{nijimbere2020tabu}, with the only difference in the parameter
DQN is used during the construction of the initial solution:
for all the nodes, the network estimates the reward, then all the values estimated get interpolated in the range
Results can be seen on the pdf presentation uploaded in this repository under the pdf directory.