Interactive Learning Objects for Operations Research

Interactive learning objects on this Web page are split by their implementation in two categories: Excel and Java programs. Both could be used for teaching Business and Information Technology courses.


Excel Spreadsheet Programs

Business Statistics

Quantitative Decision Analysis


Java Applets

To run any applet, click on the respective image. Applets have been designed to open a new browser window and set the preferred size. Still some browsers open a new tab instead. In this case resize the browser window as appropriate. Alternatively, while opening the applet, right-click and in the context menu select command Open in a new window.


1. Two-Dimensional Probability Distribution Viewer.
This applet demonstrates the uniform and normal probability distribution functions in two variables. Charts of the marginal and conditional distribution functions also can be displayed. These charts help students understand these nontrivial concepts. 
Besides the well familiar probability density function f(x,y), this program displays the cumulative probability distribution function F(x,y). It is indeed hard to find on the Internet any charts of the cumulative function; nor do textbooks contain any good examples. So take your time now!

2. Generating 2D Normal Random Vector

This applet generates 2D Normal random vector with correlated components. Vectors can be viewed as points scattered on a plane. By changing the correlation coefficient and other parameters of the probability distribution, user can see how they affect the scatter pattern.

Source code

The next four applets illustrate optimization problems with two decision variables and linear constraints. The limitation to just two variables is necessary for using planar geometry visualization.

3. Solving a System of Two Linear Equations.
The intersection point of two lines is the solution. This is necessary for determining the corner points of the feasible region specified by linear constraints.

4. Determining the Feasible Region.
We may need to know the feasible region to determine the range of solutions to a set of linear constraints. This demo builds upon the previous. Now instead of a single intersection point you can determine the whole region where all linear constraints are simultaneously satisfied.  The feasible region turns to be a convex polygon that may be finite or semi-finite.

5. Solving a Linear Programming Problem.
This applet adds a linear objective function and allows finding the optimal solution. This solution is always located on the feasible region boundary. If infinite number of solutions exists (i.e. they cover the whole edge of the feasible polygon), only one point of this infinite set is determined. 

6. Solving a Nonlinear Optimization Problem with Linear Constraints.
This applet differs in that the objective function is nonlinear (quadratic or Cobb-Douglas). The approach used in this program is applicable to the objective function of any kind. Still only approximate optimal solution is found. This is the cost paid for the universal approach and the visualization effect which is the main purpose of this applet.

7. 2D Nonlinear Function Viewer.
This applet illustrates a non-linear (quadratic or Cobb-Douglas) objective function in two variables (hence 2D). With its different parameter values, the quadratic function can turn to be convex, concave, or none of these. Convexity and concavity are important in nonlinear optimization. When the function parameters are changed, the applet determines these properties and displays the answer.

Source code

8. Finding the Shortest Path in a Graph.
This applet illustrates the Dijkstra's algorithm. The graph can be directed or undirected. Also this graph allows finding some random path for the comparison with the shortest one. By default, edge weights are set to distances in pixels on the screen. User can edit these weights as appropriate.  


9. M/M/1 Waiting-Line Simulation.
This applet demonstrates the way how to simulate simple discrete-event systems. Besides the concept of queuing system itself, it shows the difference between the time-slice and next-event time advance mechanisms in computer simulation. Also the description gives an example of computer model validation. 

free counters
By state
free counters
By province
free counters