License guide

Illustration on a dark street grid: a key and an open padlock connect to a network of pins; part of the network is lit lime, the rest stays grey

This guide is the reference for JOpt licenses: the element limits without a license and with the free licenses, the format of a license, and how to set it in Java or send it to JOpt.TourOptimizer. It is for everyone whose optimization holds more elements than JOpt allows without a license. An element is a node or a resource; the Basic elements tutorial introduces both.

Free License

JOpt counts nodes and resources together as elements. Without a license, an optimization may hold up to 10 elements. Two free licenses raise the limit:

LicenseElement limitHow to get it
No license10 elementsNothing to set
Public evaluation license20 elementsThe Java examples set it through ExampleLicenseHelper
Extended free license30 nodes and 7 resources (37 elements)A free sign-up on the DNA Evolutions website

Larger problems need a full license: see the products page or contact DNA Evolutions.

The public evaluation license that the Java examples set through ExampleLicenseHelper, with a limit of 20 elements:

{
  "version" : "1.2",
  "identifier" : "PUBLIC-",
  "description" : "Key provided to for evaluation purpose from DNA evolutions GmbH.",
  "contact" : "www.dna-evolutions.com",
  "modules" : [ {
    "Module:" : "Elements",
    "max" : 20
  }, {
    "Module:" : "Date",
    "creation" : "2025-02-04",
    "due" : "2029-01-28"
  } ],
  "key" : "PUBLIC-e6dc49fcbda599f45638d39794fd4f99b062c2ae96864e37ef"
}

Please note, our open optimization endpoints are hard-limited to 10-20 elements (number of nodes + number of assets/resources).

License format

A license is a JSON definition. A sample license file; the values are examples:


{
  "version" : "7.4",
  "identifier" : "TEST-",
  "description" : "Key provided to [email protected] by DNA evolutions GmbH",
  "contact" : "[email protected]",
  "modules" : [ {
    "Module:" : "Date",
    "creation" : "2020-05-25",
    "due" : "2024-05-08"
  }, {
    "Module:" : "Elements",
    "max" : 100
  } ],
  "key" : "TEST-AVERYUNIQUEKEY"
}
Changing any JSON-key (deleting, modifying, or adding) of the license will deactivate the license. The only allowed modification is a formatting step, like prettifying the JSON.

Set a license in Java

When you use JOpt as a Java dependency, set the license on the optimization with setLicenseJSON, either as a JSON string or as a file that holds the JSON:


 // Via String
 myOpti.setLicenseJSON(myJsonLicenseString);
 
 ...
 
 // Or via file
 myOpti.setLicenseJSON(myJsonLicenseFile);

The example Set license shows both ways.

Send a license to JOpt.TourOptimizer

With the containerized version of JOpt.TourOptimizer, send the license JSON along with your request, as a string in extension.keySetting.jsonLicense. The REST server page describes the container and its settings.

License agreement

The license agreement and further information about license plans are on the DNA Evolutions website.

Authors

DNA Evolutions GmbH


Added: 2026-01-03 (JOpt core 7.5.2-j17) | Last updated: 2026-10-21