acco93 / filo2

A more scalable version of FILO.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FILO2

Italia FILO2 is an evolution of FILO able to tackle much larger CVRP instances with a very ordinary computing system. Less than ten minutes and 10GB of RAM are enough to execute 100k FILO2 iterations and get a (possibly very bad) solution for an instance with 1 million customers. On the X and B datasets FILO2 behaves pretty much like FILO in terms of quality (sometimes it is even slightly better) but it has a considerably lower time growth rate that becomes very visible for instances with more than 5k customers.

Changes and computational results are described in the draft and in the paper. This repository contains raw results and the algorithm source code.

Updates

The code has received two minor updates related to implementation details (see 1 and 2) that slighly improve the overall computing time of the algorithm compared to the results published in the paper.

Get the code

git clone git@github.com:acco93/filo2.git

Note that the repo includes ≈1.5GB of result files.

Build & run

cd filo2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_VERBOSE=1
make -j

./filo2 ../instances/I/Lazio.vrp

Compile time cmake options

  • ENABLE_VERBOSE: prints info while processing
  • ENABLE_GUI: shows a graphical representation (slows down thing a little)

The I dataset ... in pictures

Valle d'Aosta

Molise

Trentino-Alto Adige

Basilicata

Umbria

Abruzzo

Friuli-Venezia Giulia

Liguria

Calabria

Marche

Sardegna

Campania

Piemonte

Toscana

Puglia

Sicilia

Veneto

Emilia-Romagna

Lombardia

Lazio

About

A more scalable version of FILO.

License:GNU General Public License v3.0


Languages

Language:C++ 99.5%Language:CMake 0.5%