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.


Introduction video

Watch our introduction video. Click, to open video:

Introduction Video for DNA's JOpt


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.


Examples - Educate yourself

Screenshot

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.


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.6</version>
  <classifier>shaded</classifier>
</dependency>

or latest

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

We are recommending always using the latest version of JOpt (rc).

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.6</version>
  <classifier>javadoc</classifier>
</dependency>

or latest

<dependency>
  <groupId>jopt</groupId>
  <artifactId>jopt.core.pg</artifactId>
  <version>7.4.6</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>

.NET legacy version

We still support a legacy .NET version of JOpt. We utilize IKVM.NET that is effectively a Java framework running on top of the .NET's framework.

The latest dll (archived as zip) as download: - JOpt Shaded as dll

The IKVM.NET framework as download: - IKVM.NET Framework


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.


Docker

Furthermore, the JOptTourOptimizer 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


Authors

A product by dna-evolutions ©