New release: Hexaly 12.5
We are pleased to announce the release of Hexaly 12.5, which includes many new features and performance enhancements. The “gaps” mentioned below are the relative gaps in % between the solutions computed by Hexaly Optimizer in less than 1 minute on a standard server (AMD Ryzen 7 7700 processor, 8 cores, 3.8 GHz, 32MB cache, 32GB RAM) and the best-known solutions available by the research, computed using dedicated algorithms, within days of running times on much more powerful hardware.
Routing
Hexaly Optimizer 12.5 brings significant performance improvements for Vehicle Routing Problems (VRP) with various types of constraints and objectives:
- Traveling Salesman Problem (TSP): average gap of 0.6% in 1 minute of running time for instances with up to 1,000 points.
- Capacitated Vehicle Routing Problem with Time Windows (CVRPTW): average gap of 1.8% in 1 minute for instances with up to 1,000 points.
- Pickup and Delivery Problem with Time Windows (PDPTW): average gap of 0.8% in 1 minute for instances with up to 1,000 points.
Scheduling
Hexaly Optimizer 12.5 brings significant performance improvements for Job Shop Scheduling Problems (JSSP) and Resource Constrained Project Scheduling Problems (RCPSP) with various types of constraints and objectives:
- Scheduling Problems with Production and Consumption of Resources: average gap of 3.0% in 1 minute on Kone’s benchmarks.
- Resource Constrained Project Scheduling Problem (RCPSP): improvement of 72 world records from the literature, in addition to the 121 improved by Hexaly 12.0.
Packing
Hexaly Optimizer 12.5 brings significant performance improvements in solving Bin Packing Problems (BPP) with various types of constraints. In particular, mutual exclusion constraints can now be easily and efficiently managed thanks to the addition of Distinct and Intersection mathematical operators. It reports solutions with an average gap of 1.2% in 10 seconds on instances with up to 5,000 items. It solves various variants of Bin Packing problems involving 100,000 items in minutes nearly optimally.
Hexaly Modeler
Hexaly Modeler 12.5 adds support for classes to structure your data and mathematical optimization model.
class Point {
x = 0.0;
y = 0.0;
constructor(x, y) {
this.x = x;
this.y = y;
}
distance(other) {
return sqrt(pow(other.x - this.x, 2) + pow(other.y - this.y, 2));
}
}
Lambda functions can now return multiple values. This feature is useful to model complex business rules in Vehicle Routing Problems like Driver Breaks.
// End of each visit
sequence <- list(nbClients);
c <- count(sequence);
// Working time without break & arrival time for each client
arrivals <- array(0...c, (i, prev) => {
workingTime <- prev[0];
departureTime <- prev[1];
if (workingTime + serviceTime[i] > maxWorkingTime) {
return array(0, departureTime + serviceTime[i] + break);
} else {
return array(workingTime + serviceTime[i], departureTime + serviceTime[i]);
}
}, array(0, 0));
The Sort operator can be associated with a lambda function to sort a collection of expressions using a particular key. This feature is useful for Stochastic Optimization when retrieving median, minimum, and maximum values across multiple scenarios.
expressionArray[i in 0..3] <- float(-10, 10);
sortedArray <- sort(expressionArray, i => i * i);
Code Templates
New Code Templates are available for Routing, Scheduling, and Simulation Optimization problems to help you get started effortlessly with Hexaly Optimizer:
Register here to try Hexaly 12.5 for free. Don’t hesitate to contact us for further information or support.