DNA-Evolution - JOpt-TourOptimizer Documentation

JOpt is a flexible routing optimization-engine written in Java, allowing to solve tour-optimization problems that are highly restricted, for example, regarding time windows, skills, and even mandatory constraints can be applied. For a general introduction to JOpt, please click here.

Getting Started

The latest native java library of JOpt can be either downloaded via our official nexus repository, from our company website or as a direct download from here:

However, it is recommended to use our nexus-endpoint as a repository and download the jars as a dependency into your project.

Snippet for Maven

For adding the JOpt dependency to your pom.xml you can use the following snippet (for help on how to set dependencies, please visit the official Maven documentation):

<dependency>
  <groupId>jopt</groupId>
  <artifactId>jopt.core.pg</artifactId>
   <version>7.4.4</version>
  <classifier>shaded</classifier>
</dependency>

or latest

<dependency>
  <groupId>jopt</groupId>
  <artifactId>jopt.core.pg</artifactId>
   <version>7.4.5-rc2</version>
  <classifier>shaded</classifier>
</dependency>

JavaDocs

In case you want to add our JavaDocs to your project, further add the following dependency:

<dependency>
  <groupId>jopt</groupId>
  <artifactId>jopt.core.pg</artifactId>
  <version>7.4.4</version>
  <classifier>javadoc</classifier>
</dependency>

or latest

<dependency>
  <groupId>jopt</groupId>
  <artifactId>jopt.core.pg</artifactId>
  <version>7.4.5-rc2</version>
  <classifier>javadoc</classifier>
</dependency>

(The latest JavaDocs version is also available online as a browsable page.)

Repository

In addition, it is mandatory to add our nexus-server as a repository source (for help, please visit the official Maven documentation).

In your pom.xml add the following repository:

<repository>
    <id>jopt4-maven</id>
    <url>https://public.repo.dna-evolutions.com/repository/maven-public/</url>
    <releases>
        <enabled>true</enabled>
    </releases>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
</repository>


Non-Maven projects

In case you use Gradle, SBT, IVY, Grape, Leiningen, Builder, or others, you can browse our nexus repository, select the desired dependency, and look out for the Usage container. Alternatively, you can use an online conversion tool to convert the maven dependency into your desired format. Please keep in mind that you will have to add our repository in any case.

Examples on GitHub

For an extensive collection of examples (written in Java) please visit our official GitHub page. This fully functional Maven project can be cloned and can be used as a base for starting with JOptTourOptimizer.

Docker (Preview)

Furthermore, the JOpt-optimization engine can be used as a Docker container utilizing Spring WebFlux and Swagger. See Docker HowTo for details.


Prerequisites

  • As native Java dependency - Install at least Java 8

  • As local docker container or as container within a cluster - See Docker HowTo