Optimization with the Apache Library Model Documents

This material has 2 associated documents. Select a document title to view a document's information.

Main Document

Optimization with the Apache Library Model 

written by Chad Garland and Larry Engelhardt

The Optimization with the Apache Library model demonstrates how the Apache Optimization library can be used within EJS to fit experimental data.  In this simulation, six different optimization algorithms have been implemented, and three different types of (pre-measured) experimental data are included: nuclear decay, a falling ball, and a damped oscillator.

In the description pages, exercises are provided that encourage the user to explore the efficiency and effectiveness of different algorithms (applied to different types of data), and the process of implementing code from the Apache Optimization library is described.  In this simulation, the sum of squared deviations is minimized, but if you have estimates for the uncertainties in your experimental data, the implementation can easily be modified to instead minimize the value of the chi-squared or reduced chi-squared deviation.  For maximization problems, simply follow the example code provided here, but replace the word MINIMIZE with MAXIMIZE.

The EJS "Optimization with the Apache library" model was created using the Easy Java Simulations (EJS) modeling tool.  It is distributed as a ready-to-run (compiled) Java archive.   Double clicking the ejs_Optimization_Apache.jar file will run the program if Java is installed.  You can modify this simulation if you have EJS installed by right-clicking within the plot and selecting "Open Ejs Model" from the pop-up menu item.

Published January 22, 2013
Last Modified August 20, 2013

This file has previous versions.

Source Code Documents

Optimization with the Apache Library Source Code 

The source code zip archive contains an XML representation of the Optimization with the Apache Library Model.  Unzip this archive in your EJS workspace to compile and run this model using EJS.

Last Modified January 23, 2013