U.S. Department of Transportation
Federal Highway Administration
1200 New Jersey Avenue, SE
Washington, DC 20590
202-366-4000


Skip to content
Facebook iconYouTube iconTwitter iconFlickr iconLinkedInInstagram

Federal Highway Administration Research and Technology
Coordinating, Developing, and Delivering Highway Transportation Innovations

 
REPORT
This report is an archived publication and may contain dated technical, contact, and link information
Back to Publication List        
Publication Number:  FHWA-HRT-17-104    Date:  June 2018
Publication Number: FHWA-HRT-17-104
Date: June 2018

 

Using Multi-Objective Optimization to Enhance Calibration of Performance Models in the Mechanistic-Empirical Pavement Design Guide

 

APPENDIX B. PROGRAMMING CODES

In this research project, MOEAs have been implemented to optimize the multiple objective functions involved. MOEA Framework (moeaframework.org) is a free and open-source Java framework for multi-objective optimization using a variety of EAs, including GAs and ESs. In this object-oriented framework, an instance of the “abstract problem” class needs to be created, in which the calculation process for the multiple objective functions is implemented. Then an instance of the “problem execution” class is created, where the abstract multi-objective optimization problem is solved using a selected “algorithm.” The user should employ an integrated development environment (IDE) to add the “MOEAFramework-2.10.jar” to the build path before running the codes discussed in this appendix.

The following sections in this appendix describe the source codes developed for this study. In addition, the “ReadFromFile.java” and “WriteToFile.java” source codes were developed to read the calibration data and factors and to write the rutting calculation results and final calibration factors into corresponding files.

To use these codes, the user needs to store the calibration and validation datasets in two separate folders and provide the folder path in the “problem execution” code. Depending on the number of objective functions, different source codes should be used as explained below. The calibration dataset comprises one folder per test section, which contains both the measured rutting through time and the intermediate pavement response files calculated using the AASHTOWare® Pavement ME Design software. The validation dataset only includes measured rutting in each folder for each test section.

All the noted source codes and the calibration and validation data files used for this study are available online through https://www.fhwa.dot.gov/.

PROBLEM EXECUTION: SOLVING THE MULTI-OBJECTIVE OPTIMIZATION PROBLEM

This code is the main code that needs to be executed. An executable file was not created for this project because this was a research experiment, and the developed code does not include a front-end user interface. Therefore the “problem execution” code needs to be run through an IDE. The user needs to make sure that all the other corresponding source codes are located in the same folder and that the folder path for the calibration and validation datasets is specified within this source code. Table 48 shows the names of the “problem execution” codes and the corresponding “problem” codes for the calculation of various numbers of objective functions.

Table 48. Developed source codes for multi-objective calibration of MEPDG rutting models.

Problem To Be Solved Problem Execution Code Rutting Problem
Objective Functions
Code
AASHTO calibration method for new pavements on SPS-1 ProblemExecution_SPS1_
1Obj.java
RuttingProblem_SPS1_
1Obj.java
Two-objective calibration for new pavements on SPS-1 ProblemExecution_SPS1_
2Obj.java
RuttingProblem_SPS1_
2Obj.java
Four-objective calibration for new pavements on SPS-1 and FDOT APT ProblemExecution_SPS1_
4Obj.java
RuttingProblem_SPS1_
4Obj.java
AASHTO calibration method for overlaid pavements on SPS-5 ProblemExecution_SPS5_
1Obj.java
RuttingProblem_SPS5_
1Obj.java
Two-objective calibration for overlaid pavements on SPS-5 ProblemExecution_SPS5_
2Obj.java
RuttingProblem_SPS5_
2Obj.java

 

RUTTING CALIBRATION PROBLEM: SETTING UP PROBLEM SOLUTIONS AND OBJECTIVE FUNCTIONS

As noted above, an instance of the “abstract problem” class was created, in which the calculation process for the multiple objective functions is implemented. Table 48 includes the file names for the Java codes created for rutting problems according to the pavement type (new AC models calibrated on SPS-1 and overlaid AC models calibrated on SPS-5 data) and the number of objective functions used (single-objective calibration according to the AASHTO method, two-objective minimization of bias and STE, or four-objective optimization using LTPP and APT data simultaneously). These source codes set up the problem solutions (calibration factors) and the way in which the various objective functions are calculated. These source codes are called from the corresponding problem execution codes, and they in turn call for the source code that provides total pavement deformation estimates.

CLASS FOR DEFORMATION CALCULATIONS

The source code called TotalDeformation.java adds the cumulative rutting developed in all pavement layers (including asphalt-bound and unbounded materials) up to each month through pavement age. This source code calls the corresponding codes for calculating the cumulative rutting in AC and unbounded layers. This source code is called by the problem codes to provide the specific calculations of objective functions.

CALCULATION OF CUMULATIVE RUTTING IN ASPHALT CONCRETE LAYERS

The source code called CumulativeAC.java provides a simulated process for calculating the amount of permanent deformation accumulated in asphalt-bound layers through time and under specific traffic and climatic conditions using the intermediate pavement response files provided by the AASHTOWare® Pavement ME Design software. The detailed process is described in chapter 4, under the heading “Simulating Permanent Deformation in Asphalt Concrete Layers.” This source code is called by the source code for calculating the total pavement deformation.

CALCULATION OF CUMULATIVE RUTTING IN UNBOUND LAYERS

The source code called CumulativeUnbounded.java provides a simulated process for calculating the amount of permanent deformation accumulated in unbounded layers through time and under specific traffic and climatic conditions using the intermediate pavement response files provided by the AASHTOWare® Pavement ME Design software. The detailed process is described in chapter 4, under the heading “Simulating Permanent Deformation in Unbound Materials.” This source code is called by the source code for calculating the total pavement deformation.

 

 

Federal Highway Administration | 1200 New Jersey Avenue, SE | Washington, DC 20590 | 202-366-4000
Turner-Fairbank Highway Research Center | 6300 Georgetown Pike | McLean, VA | 22101