**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**

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.

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.

**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.

By state

By province