Skip to content

CO2-Emission based optimization

JOpt.TourOptimizer comes with a built-in emission assessment and optimization scheme that allows fleet operators to determine and optimize their overall carbon dioxide emissions. Besides calculating the overall and per route emissions, JOpt determines an optimum schedule with optimum energy efficiency in terms of truck payload to empty ratio and overall road mileage. Hence, vehicles are automatically dispatched to lead to a minimum carbon dioxide emission. Of course, all other planning objectives like time windows, load capacities, working times and so forth keep being satisfied as well.



Heavy-duty vehicles - trucks and buses - are responsible for about a quarter of CO2 emissions from road transport in the EU and 5% of the total EU emissions. On 20 June 2019, the European Parliament and the Council adopted Regulation (EU) 2019/1242 setting CO2 emission standards for heavy-duty vehicles, with targets for reducing the average emissions from new lorries for 2025 and 2030.

Although there have been significant improvements over recent years in-vehicle technology - particularly in fuel efficiency, which translates into lower CO2 emissions – these have not been enough to neutralize the effect of increases in traffic and car size.

Reading the figures, DNA sees the importance of reducing emissions for road transport. Therefore we are proud to deliver a core technology that easily enables assessment of C02 emission and energy efficiency and provides a good foundation for setting up emission reduction strategies alongside transportation networks and supply chains — utilizing JOpt.TourOptimizer fleet operators can contribute to a better climate while also saving cost and time throughout an optimum vehicle schedule that JOpt automatically calculates.


By default, a vehicle in JOpt.TourOptimizer has a CO2-emission factor of 0.377 [kg*CO2/km] what is approximately the emission factor of a vehicle with average fuel consumption of 12-litre diesel per 100 km. Therefore, a vehicle that drives 500 kilometres emits 188.5 kilogram of CO2. The CO2 emission value is part of the individual route result header.


Please visit our GitHub-Page for this CO2-Example.

Setting a custom emission factor

The emission factor is a function of the vehicle type, the used fule type, the number of goods it carries, etc. Therefore, the emission factor needs to be adjusted depending on the individual vehicle.

In the following, we define two vehicles; one has a fuel consumption of 25-litre diesel per 100 km and the other has a fuel consumption of 8-litre petrol per 100 km.

double fuelConsumptionVehicleOne = 25.0 / 100; // Litre Diesel per 1 km
double fuelConsumptionVehicleTwo = 8.0 / 100; // Litre petrol per 1 km

double co2FactorDiesel = 2.629; // kg/l
double co2FactorPetrol = 2.362; // kg/l

// Define the Resource
IResource vehicleOne =
        new CapacityResource(...);

vehicleOne.setAverageCO2EmissionFactor(fuelConsumptionVehicleOne * co2FactorDiesel);

// Define the Resource
IResource vehicleTwo =
        new CapacityResource(...);

vehicleTwo.setAverageCO2EmissionFactor(fuelConsumptionVehicleTwo * co2FactorPetrol);

(If you are new to JOpt-TourOptimizer, please also read our page on setting up your first optimization.)

Use CO2-emission as an Optimization goal

By default, the CO2 feature is a reporting feature. Meaning, the optimization result will not be affected by each vehicle's underlying individual emission factors. However, by setting (e.g. a value of 10):

props.setProperty("JOptWeight.CO2Emission", "10.0");

the Optimizer will try to reduce the overall CO2 emission during the optimization run what usually results in utilizing vehicles with a lower CO2 emission factor. However, of course, there is a break-even. For example, if a vehicle is considered very expensive, its starting location does not match the nodes that need to be visited and many other potential restrictions.

Closing Words

This feature is still under active development and will be extended for more settings. Please feel free to contact us regarding your individual use case.


A product by dna-evolutions ©