Monte Carlo tree search is used in AlphaGo Zero which is a strong artificial intelligence player for Go, and therefore it has attracted much attention. It can be used for searching for the optimum of combinatorial optimization problems, and it is promising for finding the optimum or a near-optimum. This paper proposes a Monte Carlo tree search method for the knapsack problem which is one of the typical combinatorial optimization problems. In the proposed method, a new candidate solution is generated by using superior ones found so far in the procedure called the simulation. Its performance is evaluated through conducting numerical experiments.
Metaheuristics are promising methods for combinatorial optimization problems. However, existing metaheuristics cannot necessarily find optimal solutions or near-optimal solutions. Meanwhile, in the field of machine learning, reinforcement learning theoretically enables an agent to learn optimal actions and has attracted attention. Thus, we previously proposed a general metaheuristic framework based on the reinforcement learning. However, this framework is not superior in finding good solutions in a short time because it generates a relatively large number of infeasible solutions. In this paper, we propose an extension of the metaheuristic framework to find better solutions. In addition, we propose a concrete method based on the metaheuristic framework for solving the knapsack problem as a case study. The effectiveness of our proposed method is verified through experiments of applying the proposed method and other methods to the knapsack problem.