Skip to content
Snippets Groups Projects

FPTG-Library

This project was created to supply a library for parametrized graph problems that can be easily extended.

So far we added the following features:

  • Adjacency-list based implementations for directed and undirected graphs
  • An API to solve (Integer) Linear Programs with SCIP via OR-Tools
  • VisualisationAPI for graphs
  • Multiple layout algorithms to position vertexes based on forces
  • Efficient external solvers for graph algorithms
  • and much more

We have used this library to participate in the PACE 2022 challenge: https://gitlab.informatik.uni-bremen.de/grapa/java/pace-2022-dfvs-solver

Usage

Add the following maven dependency to your project:

<dependency>
  <groupId>de.uni.bremen.grapa</groupId>
  <artifactId>FPTG-Library</artifactId>
  <version>main-SNAPSHOT</version>
</dependency>

This package is published in a registry, where you can also find more information about how to setup both the registry and the dependency

Dependencies

This project incorporates multiple open-source dependencies. Notable dependencies are

Whereas OR-Tools are included as maven dependency, Quick Cliques and WeGotYouCovered are directly included as binaries in src/main/resources, where Quick Cliques corresponds to mce_solver and WeGotYouCovered corresponds to vc_solver. Their licenses are included in the same directory and with similar names. Those binaries are built to be run on optil.io, where GLIBCv2.23 is the newest available GLIBC.

License

This project is available under the GPLv3 license, see ./license.md. Tell us, if you need a different license on our code (you would need to replace the GPLv3 licensed dependencies).