License guide

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:
| License | Element limit | How to get it |
|---|---|---|
| No license | 10 elements | Nothing to set |
| Public evaluation license | 20 elements | The Java examples set it through ExampleLicenseHelper |
| Extended free license | 30 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"
}
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.
Related pages
- Basic elements: nodes and resources, the elements that the limits count
- Set license example: the license set from a string or a file, with the example code
- REST server: the JOpt.TourOptimizer container and its settings
- Products: the JOpt products
Authors
DNA Evolutions GmbH
Added: 2026-01-03 (JOpt core 7.5.2-j17) | Last updated: 2026-10-21