Return to Index
Operations Research Models and Methods
Computation Section
Computation (ORMM Add-in Instructions)

This section has instructions for programs that implement a number of the computational methods of operations research. The programs are coded with Microsoft's Visual Basic for Applications. Microsoft Excel provides the interface with the user. There are several advantages to this approach including familiarity of the user with spreadsheet operations, the availability of a variety of methods in a single package, the possibility of using two or more methods simultaneously and the opportunity to perform data and decision analyses in the same workbook. These are significant advantages in a teaching/learning situation when the student can formulate and solve small problems without the expense of stand-alone programs and sophisticated work stations.

The ORMM add-ins are installed through the dialog of the Add ORMM add-in. Simply click on buttons on the dialog to install and un-install add-ins.

See the section on Add-in Basics to see how to install the Add ORMM add-in. See the section of Add ORMM to read more about this add-in.

To download Excel add-ins go to the Excel Download page by clicking on the icon below.

download excel


Unit Add-in Basics

The programs described in this site, must be installed as add-ins for Microsoft Excel. This article explains how to install add-ins and what to do in case of trouble. We also show how to get access to the source code.
Unit Add ORMM

This add-in places the item Add ORMM on the OR_MM menu. Selecting this item presents a dialog box that allows easy installation and removal of the other add-ins in the collection. A second dialog easily loads demonstration workbooks.
Unit Mathematical Programming

The Mathematical Programming Add-in constructs optimization models of several kinds:
  • Linear Programming
  • Nonlinear Programming
  • Integer Programming
  • Mixed Integer Programming
  • Network Flow Programming
  • Transportation Model
The models can be solved using the Solver Add-in or one of the solution add-ins provided in this collection. The Solver Add-in comes with Excel, and it can solve linear programming, integer programming and nonlinear programming models. Additional add-ins are available in this package to solve linear programming, integer programming, network programming and transportation models.
Unit Mathematical Programming Model Builder

This add-in is an alternative to the Mathematical Programming Add-in for linear and integer programming models. It's chief contribution is alternative format for models. The formats are: Tableau, dual tableau, column list and row list. The latter two store constraint coefficients in lists rather than matrix.
Unit Stochastic Programming

Stochastic programming explicitly recognizes uncertainty by using random variables for some aspects of the problem. With probability distributions assigned to the random variables, an expression can be written for the expected value of the objective to be optimized. The expected value is to be maximized or minimized.

For stochastic programming, some variables are to be set by a decision maker, these are the decision variables, while some model parameters are determined by chance, and these are the random variables. To model a stochastic programming problem, one must answer: When must the decision maker make decisions relative to the time when the random variables are realized? The several different answers to this question lead to different computational methods.

Unit Linear/Integer Programming Solver

This add-in provides an algorithm that solves Linear Programming or Integer Programming problems. It can be used instead of the Excel solver for linear models created by the Mathematical Programming add-in. When the LP/IP Solver add-in is installed a new item now appears in the OR_MM menu, LP_Solver. Clicking on this item presents a form allowing the selection three options: show a sensitivity analysis, show detailed information about the steps primal simplex procedure, and start the solution using the current solution value.
Unit Network Flow Programming Solver

A network solution algorithm is provided by this add-in. The Excel Solver actually solves network problems by solving the underlying linear programming problem. Network algorithms are generally faster than linear programming algorithms for solving problems that can be modeled entirely as networks. The add-in places a Network Solver item on the OR_MM menu. In addition to pure network models, the add-in can solve generalized networks when arc gains are different than 1. It can also solve models that require flows to be integer. Clicking this item presents a dialog with which a number of solution algorithm options are controlled.
Unit Dynamic Programming

The Dynamic Programming Collection is a series of add-ins associated with processes that involve states, actions and events. Many situations can be described by a collection of mutually exclusive states that are visited sequentially. From each state the decision maker must choose an action. Given the state and action the next state is determined by an event.

When the situation has only of states and events, the model is a Markov Chain. When the situation has only of states and actions, the model is a Deterministic Dynamic Program. When the situation has states, actions and events, the model is a Stochastic Dynamic Program, or Markov Decision Process. The collection models and solves all of these problems.

Unit Dynamic Programming Examples

The DP Examples section holds example problems, some from the literature, that illustrate the capabilities of the Dynamic Programming Collection.
Unit Dynamic Programming Data

The DP Data add-in provides the data structure for a selected set of problems used to illustrate the remaining add-ins. This add-in has some interesting problem classes of operations research and can be revised to include new classes. The DP Data add-in will call the DP Models add-in and fill the forms created by that add-in.
Unit Dynamic Programming Models

The DP Models add-in constructs a form that describes the states, actions and events characterizing a given problem. It is an algebraic model generator similar to GAMS used for Mathematical Programming models. The form constructed by the DP Models add-in holds the definitions of the states, actions and events for the problem, formulas for computing the objective function, and formulas for computing the transitions from one state to another. The forms are filled by the DP Data add-in for certain problem classes. The DP Models add-in constructs lists of states, actions, events, decisions and transitions that are used by the DP Solver add-in. The DP Models add-in can also be used directly for problems not modeled by the DP Data add-in.
Unit Dynamic Programming Solver

The DP Solver add-in creates a form holding lists of states, actions, events, decisions and transitions. The add-in uses these lists with iterative algorithms to find optimum actions for the states. The add-in handles, deterministic DP models, stochastic DP models, and discrete time markov chains (DTMC) models. Several solution strategies are provided.


Unit Optimize

Many Excel worksheet models depend on a few design variables. Through formulas, the worksheet contents vary with the values of the design variables and the modeler uses the worksheet as a "what if" tool. It is often the goal to find the best values. This add-in provides algorithms that search for the best among a perhaps large set of discrete alternatives. In addition to stand-alone forms that can be used for general optimization on a worksheet, the add-in provides solutions to combinatorial problems encountered in operations research studies. The problems include mixed integer programming, the traveling salesman problem, the assignment problem, spanning tree problems, optimum path problems in networks and flow-tree problems.
Unit Combinatorics

This add-in creates combinatorial models that use the search methods of the Optimize add-in. The add-in provides a model for the Quadratic Assignment problem, the Minimal Spanning Tree problem and the Shortest Path Tree problem. Other models may be added in the future. The Optimize add-in must be installed for the Combinatorics add-in to work.
Unit Routing

This program models and solves the vehicle routing problem for several vehicles visiting several delivery sites. This uses the methods of the Combinatorics add-in, but the Routing add-in is a stand-alone program. A full description of the Routing add-in is in the OM/IE section of this site.
Unit Functions

This add-in performs operations on a function of continuous variables. The function may depend on many variables and be constructed of arbitrary combinations of Excel functions. The function will usually be continuous and differentiable. The add-in uses numerical methods to compute the gradient and Hessian matrices (matrices of first and second partial derivatives). It also computes integrals and moments. The add-in uses a gradient search method to find values of the variables that maximize or minimize the function.
Unit Random Variables

The Random Variables Add-in performs computations associated with probability distributions. Random variables with any of 16 different named distributions may be defined. Functions compute probabilities of events, inverse probabilities and moments. Up to three distributions may be plotted. Complex probability problems may be solved through Monte-Carlo simulation.
Unit Queuing

The Queuing Add-in performs calculations associated with Poisson queuing models, Non Poisson models and networks of queues. It also performs simulations of multi-channel queuing models.
Unit Markov Collection

This collection has been replaced by the more general dynamic programming collection.
Unit Markov Analysis

This add-in performs computations for discrete time or continuous time Markov stochastic processes, DTMC or CTMC respectively. The data defining a DTMC model are the probabilities in the transition matrix, and the data defining a CTMC model are the activity rates in the rate matrix. The add-in performs the following analyses: steady state probabilities, n-step probabilities, first passage probabilities and expected values, transient probabilities, simulation and absorbing state probabilities. Economic data allows the performance of economic analyses.

A Markov Decision Process (MDP) adds decisions to Markov analysis. Here states may have several actions available to the decision maker. Actions modify transition probabilities and have different costs or rewards. The goal is to find an optimum policy that minimizes expected discounted costs or maximizes discounted rewards. This add-in has been replaced by the more general DP Solver add-in.


Unit Decision Analysis

Consider a situation in which a series of decisions are to made sequentially. The problem is complicated however in that the results of some of the decisions are not deterministic, rather they are affected by risk. The goal is to make a series of decisions in order to maximize the expected return. Models and solution methods for this type of problem are the subjects of decision analysis. The add-in provides extensive programs to build, solve and display decision trees.
Unit Simulation

This add-in creates multiline simulations useful for analyzing a variety of systems that don't fit the model types handled by the other add-ins. The add-in builds and maintains worksheets on which simulations are easily built. Packaged models for time series simulation and inventory simulation are included.
Unit Hurricane

This workbook tracks and forecasts hurricanes in the Gulf of Mexico region. The download is an Excel workbook rather than an add-in, and it contains both sample data and the macros necessary to add new hurricanes, add position data as provided by the National Hurricane Center, make forecasts of future movement, plot data and forecasts on a map and construct an error analysis after the storm is over.
Unit P&G Game

To train their production managers in the strategy developed, the Proctor and Gamble company developed a simulation model to illustrate the effects of the varying demand and how the P&G strategy worked. At that time, the simulation was done manually. The manual simulation was computerized in the 1970’s in interactive BASIC and with the advent of microcomputers became a viable tool in teaching Production Scheduling and Inventory Control. More recently, it has been converted by Paul Jensen to Visual Basic for Applications and implemented for Microsoft Excel. We call the simulation the P&G Game.
Unit OM/IE

Excel add-ins for several topics related to Operations Management and Industrial Engineering are described in the OM/IE section of this site.



Return to Top

tree roots

Operations Research Models and Methods
by Paul A. Jensen
Copyright 2004 - All rights reserved