CARL Source
Optimization of interventions
Work > Optimization of interventions

Use of this feature requires the purchase of additional rights.

Learn more about the "CARL Optim" option.

CARL Optim is an optimization engine designed to solve complex planning and routing problems by applying specific constraints to best meet your needs.

The selection of constraints as well as the choice of constraint level and weighting help guide the optimization result.

By applying these different parameters, a score per constraint level (strong, medium, flexible) is calculated for each tested solution. The best proposed solution is the one closest to a score of 0/0/0.

However, a solution with a negative score corresponding to strong-type constraints will not result in a proposed solution.

The Optimized Participant attribute in the participant detail allows you to count the number of participants authorized during an optimization run.

Optimization execution scenario

An optimization via CARL Source includes several steps:
  1. Configure an optimization model,
  2. Select the interventions to optimize in the [Interventions] feature,
  3. Select the [Optimization of interventions] action available under the icon in the intervention list.
    → The optimization launch popup is displayed.
  4. Fill in the requested information and validate:
    → If OK, then the optimization is launched and a tracking memo is generated.
    → If KO, then the optimization is not launched and a tracking memo is generated.
  5. At the end of the allotted execution time, the application displays a tracking memo:
    → If a result is found: the optimization launch popup is displayed.
    → If no result is found: the optimization launch popup is displayed.
  6. View an optimization
    → Display of the optimization in graphical form, see [Optimization detail]
  7. Perform the action on the optimization
    → Accept an optimization and save the information in CARL Source.
    → Reject an optimization.
At least one intervention must be entered in order to launch an optimization.
The module parameter BLOPTIM_FST_CALL defines the percentage of processing time in addition to the initial processing time for initialization steps.
The module parameter BLOPTIM_NEXT_CALL defines the percentage of processing time before re-querying the optimization engine when the initial time was not sufficient to solve the optimization problem.
To ensure the optimization engine is aware of the existing schedule of participants to avoid double planning, CARL Source additionally sends all interventions linked to participants whose planning dates fall within the planning horizon. This way, the engine considers them as already planned interventions that must be taken into account when searching for the best optimization solution.
At each step, a tracking memo is sent.

Optimization launch settings

The following fields are mandatory for launching an optimization:

Optimization mode

TASP

The TASP mode distributes tasks among available resources, without considering travel.

VRP

The VRP mode organizes optimized routes taking into account intervention locations and travel paths.

The distance between 2 points is calculated using a cost matrix based on the open-source ORS (Open Route Service) solution. The cost matrix is updated as optimizations and new addresses are added. All distances (old address - new address) are calculated and stored in the cost matrix for future use.

Two addresses 120 meters apart are considered as the same address.
It is advisable to periodically purge the cost matrix so that recalculations account for route changes (roadworks, new roads, one-way streets).

Pre-checks before launching an optimization

Before launching an optimization, different checks are performed.

Updating interventions

Accepting a solution updates the interventions.
The data that can be updated are:

Depending on the constraints applied in the model, it is possible to complete a labor line or replace it.
This is a full save of the optimization solution. If an error occurs during saving, no information is saved and an information memo is sent.

Travel management

When using the VRP optimization mode, the optimization engine calculates the travel times needed to carry out an intervention.

This information will be added to the intervention as a labor line with the labor type field filled in.

The labor type automatically associated is the one defined in the TRAVEL_OCCTYPE module parameter.

Travel times are included in the total intervention workload.

The last travel of a day (without a subsequent intervention) is not saved in CARL Source.