Using Tabled Logic Programming to Solve the Petrobras Planning Problem
This work addresses a domain-specific logistics planning problem for Petrobras, presenting an incremental improvement over existing methods.
The authors tackled the Petrobras planning problem, which involves transporting cargo from ports to platforms using vessels with limited capacity, by developing a planner in the Picat language that uses tabling to memorize visited states during search. They demonstrated that this approach achieves much better runtime efficiency and plan quality compared to the previous best technique, Monte Carlo Tree Search.
Tabling has been used for some time to improve efficiency of Prolog programs by memorizing answered queries. The same idea can be naturally used to memorize visited states during search for planning. In this paper we present a planner developed in the Picat language to solve the Petrobras planning problem. Picat is a novel Prolog-like language that provides pattern matching, deterministic and non-deterministic rules, and tabling as its core modelling and solving features. We demonstrate these capabilities using the Petrobras problem, where the goal is to plan transport of cargo items from ports to platforms using vessels with limited capacity. Monte Carlo Tree Search has been so far the best technique to tackle this problem and we will show that by using tabling we can achieve much better runtime efficiency and better plan quality.