Extracting Data from Borg Runtime Files

When using the I/O version of Borg MOEA, there is an option to output runtime information throughout optimization (this information is saved to the file designated by the “-R” flag at a frequency set by the “-F” flag). These files can be very useful in diagnostics of the search process, but the appropriate information must first be extracted from the files. One issue I ran into was figuring out how to extract specific information from these files, rather than everything. Conveniently, with MOEAFramework this can be done with ease.  In section 11.2.2 of the Manual (MOEAFramework 2.7), the ExtractData command is explained.

To begin, you’ll want to have your runtime file, your reference set and the directory for MOEAFramework all in the same directory. Once you have these files together, you can use a command line similar to the one below to extract data from the runtime file:

java org.moeaframework.analysis.sensitivity.ExtractData 
  --problem {problem in MOEAFramework} 
  --input {your runtime file}
  --reference {your reference set}
  --output {youroutput file}
  NFE ElapsedTime +hypervolume

Now, there are three comments that may be useful on this. First, you may need to add some additional commands after the initial “java” to ensure MOEAFramework will be located and run correctly. You can tell java where to find the MOEAFramework .JAR file by using “-Djava.ext.dirs={directory}” and you can tell it which .JAR to use by using “-classpath {MOEAFramework….jar}”.

Second, you can include additional performance indicators in any order. For example, generational distance is included with +generational, and additive ϵ-indicator with +epsilon. Others can be found in section 11.2.2 of the manual.

Third, I found that even if your problem is not included in MOEAFramework, “-dimension” can be used instead of “–problem”. For this, you simply tell MOEAFramework the number of dimensions (objectives) in the objective space.

One thought on “Extracting Data from Borg Runtime Files

  1. Pingback: Water Programming Blog Guide (Part I) – Water Programming: A Collaborative Research Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s