Computer-assisted Learning
Computer-assisted Learning
Concepts & Techniques

Europe Mirror Site
USA Site

Computer-assisted learning is to convey a vast amount of information in a very short period of time. It is a powerful method of reinforcing concepts and topics first introduced to you through your textbook, and discussion in the classroom. Computer-assessed learning enables you in a powerful way to comprehend complex concepts.
Professor Hossein Arsham   

To search the site, try Edit | Find in page [Ctrl + f]. Enter a word or phrase in the dialogue box, e.g. "parameter " or "linear " If the first appearance of the word/phrase is not what you are looking for, try Find Next.

  1. Introduction
  2. Computer Package: WinQSB
  3. Linear Programming (LP) implementations with the WinQSB
  4. Managerial Interpretation of the WinQSB Report for LP
  5. How to Use LINDO and Interpret Its Output
  6. Solving LP Problems by Excel
  7. Network Models Implementations with the WinQSB
  8. Decision Analysis Implementation with the WinQSB
  9. JavaScript E-labs,  Europe Mirror Site.

Companion Sites:


The Value of Performing Experiment: If the learning environment only focuses on background information, knowledge of terms and new concepts, the learner is likely to learn that basic information successfully. However, this basic knowledge may not be sufficient to enable the learner to successfully carry out the on-the-job tasks that require more than basic knowledge. Thus, the possibility of making real errors in the business environment is high. On the other hand, if the learning environment allows the learner to experience and learn from failures within a variety of situations similar to what they would experience in the "real world" of their job, the possibility of having similar failures in their business environment is low. This is the realm of simulations-a safe place to fail.

The appearance of management science software is one of the most important events in decision making process. OR/MS software systems are used to construct examples, to understand the existing concepts, and to discover useful managerial concepts. On the other hand, new developments in decision making process often motivate developments of new solution algorithms and revision of the existing software systems. OR/MS software systems rely on a cooperation of OR/MS practitioners, designers of algorithms, and software developers.

The major change in learning this course over the last few years is to have less emphasis on strategic solution algorithms and more on the modeling process, applications, and use of software. This trend will continue as more students with diverse backgrounds seek MBA degrees without too much theory and mathematics. Our approach is middle-of-the-road. It does not have an excess of mathematics nor too much of software orientation. For example, we lean how to formulate problems prior to software usage. What you need to know is how to model a decision problem, first by hand and then using the software to solve it. The software should be used for two different purposes.

Personal computers, spreadsheets, professional decision making packages and other information technologies are now ubiquitous in management. Most management decision-making now involves some form of computer output. Moreover, we need caveats to question our thinking and show why we must learn by instrument. In this course, the instrument is your computer software package. Every student taking courses in Physics and Chemistry does experimentation in the labs to have a good feeling of the topics in these fields of study. You must also perform managerial experimentation to understand the Management Science concepts and techniques.

Learning Objects: My teaching style deprecates the 'plug the numbers into the software and let the magic box work it out' approach.

Computer-assisted learning is similar to the experiential model of learning. The adherents of experiential learning are fairly adamant about how we learn. Learning seldom takes place by rote. Learning occurs because we immerse ourselves in a situation in which we are forced to perform. You get feedback from the computer output and then adjust your thinking-process if needed. Unfortunately, most classroom courses are not learning systems. The way the instructors attempt to help their students acquire skills and knowledge has absolutely nothing to do with the way students actually learn. Many instructors rely on lectures and tests, and memorization. All too often, they rely on "telling." No one remembers much that's taught by telling, and what's told doesn't translate into usable skills. Certainly, we learn by doing, failing, and practicing until we do it right. The computer assisted learning serve this purpose.

  1. Computer assisted learning is a collection of experimentation (as in Physics lab to learn Physics) on the course software package to understand the concepts and techniques. Before using the software, you will be asked to do a simple problem by hand without the aid of software. Then use the software to see in what format the software provides the solution. We also use the software as a learning tool. For example, in order to understand linear programming sensitivity analysis concepts, you will be given several managerial scenarios to think about and then use the software to check the accuracy of your answers.

  2. To solving larger problems which are hard to do by hand.

Unfortunately, the first objective is missing in all management science/operations research textbooks.

What is critical and challenges for you is to lean the new technology, mainly the use of software within a reasonable portion of your time. The learning curve of the software we will be using is very sharp.

We need caveats to question our thinking and show why we must learn-to by instrument that in this course is your computer package. Every student taking courses in Physics and Chemistry does experimentation in the labs to have a good feeling of the topics in these fields of study. You must also perform experimentation to understand the Management Science concepts. For example, you must use your computer packages to perform the "what if" analysis. Your computer software allows you observe the effects of varying the "givens".

You will be engaged in thinking process of building models rather than how to use the software to model some specific problems. Software is a tool, it cannot substitute for your the thinking process. We will not put too much focus on the software at the expense of leaning the concepts. We will lean step-by-step problem formulation, and managerial interpretation of the software output.

Managerial Interpretations: The decision problem is stated by the decision maker often in some non-technical terms. When you think over the problem, and finding out what module of the software to use, you will use the software to get the solution. The strategic solution should also be presented to the decision maker in the same style of language which is understandable by the decision maker. Therefore, just do not give me the printout of the software. You must also provide managerial interpretation of the strategic solution in some non-technical terms.

Computer Package: WinQSB

Learn by Doing: We will use WinQSB package as a computer-assisted learning tool to gain a good "hands-on" experience on concepts and techniques used in this course. These labs experimentation will enhance your understanding of the technical concepts covered in this course.

The QSB is developed and maintains by Yih-Long Chang. This software package contains the most widely used problem-solving algorithms in Operations Research and Management Science (OR/MS).

Further Reading:
Chang Y-L., QSB+: Quantitative Systems for Business Plus, Prentice Hall, 1994.

WinQSB Installation Instructions

  1. Create a folder (directory) named WinQSB

  2. Open the CD-ROM files, and save this file to the folder created in step 1.

  3. Run the WinQSB.exe program first (You must execute these programs in the proper sequence). Go to the file location (where you saved it step 2) and double click (or click on file-open) to execute the file. Follow the prompts and extract the files to the WinQSB folder that you created in step 1.

  4. Run the WinQSB.exe program. Go to the file location (where you saved it in step 2) and double click (or click on file-open) to execute the file. Follow the prompts and extract the files to the WinQSB folder that you created in step 1.

  5. Reboot your system.

  6. You will now have a list of files (both executable and support files) in the WinQSB folder that you created in step 1. To use the Linear Program model, for example, click (or double-click) on the file called LP-ILP.exe.

If you have no access to any computer outside, you may use the university computer network. The QSB is available on the the University NT server. To reach the system you need an NT account. To obtain your NT account see the Technical Assistance (TA) at the lower level of Business Center. After obtaining your username and a password then you can access the NT system. To reach the QSB, click on Start, choose the Business School Applications, then click on the Shortcut to QSB, or QSB. Then, pick-up the application you wish. All QSB applications are therein.

How to Use LINDO and Interpret Its Output for Linear Programs

Computer always solves real world linear programs mostly using the simplex method. The coefficients of the objective function are known as cost coefficients (because historically during World War II, the first LP problem was a cost minimization problem), technological coefficients, and the RHS values. This is a perfect way to learn the concepts of sensitivity analysis. As a user, you have the luxury of viewing numerical results and comparing them with what you expect to see.

The widely used software for LP problems is the Lindo package. A free Windows version can be downloaded right from LINDO's Home page at LINDO,

Caution! Before using any software, it is a good idea to check to see if you can trust the package.

Here is an LP Software Guide for your review.

Lindo is a popular software package, which solves linear programs. The LP/ILP application of WinQSB does the same operations as Lindo does, but in a much easier to use fashion.
The name LINDO is an abbreviation of Linear INteractive Discrete Optimization. Here the word "discrete" means jumping from one basic feasible solution (BFS) to the next one rather than crawling around the entire feasible region in search of the optimal BFS (if it exists).

Like almost all LP packages, including WinQSB, Lindo uses the simplex method. Along with the solution to the problem, the program will also provide ordinary sensitivity analysis of the Objective Function Coefficients (called Cost Coefficients) and the Right-hand-side (RHS) of the constraints. Below is an explanation of the output from the LINDO package.

Suppose you wish to run the Carpenter's Problem. Bring up the LINDO (or your WinQSB) package. Type in the current window as follow:

MAX 5X1 + 3X2
S.T. 2X1 + X2 < 40
X1 + 2X2 < 50

  1. The objective function should not contain any constant. For example, Max 2X1 + 5 is not allowed.
  2. All variables must appear in the left side of the constraints, while the numerical values must appear on the right side of the constraints (that is why these numbers are called the RHS values).
  3. All variables are assumed to be nonnegative. Therefore, do not type in the non-negativity conditions.

If you wish to get all Simplex Tableaux, then

It is good practice to copy the LP problem from your first window and then paste it at the top of the output page.

On the top of the page is the initial tableau, and across the top of tableau are the variables. The first row in the tableau is the objective function. The second row is the first constraint. The third row is the second constraint, and so on until all constraints are listed in the tableau.

Following the initial tableau is a statement that indicates the entering variable and the exiting variable. The exiting variable is expressed as which row the entering variable will be placed. The first iteration tableau is printed next. Entering statements and iterations of the tableau continue until the optimum solution is reached.

The next statement, `LP OPTIMUM FOUND AT STEP 2' indicates that the optimum solution was found in iteration 2 of the initial tableau. Immediately below this is the optimum of the objective function value. This is the most important piece of information that every manager is interested in.

In many cases you will get a very surprising message: "LP OPTIMUM FOUND AT STEP 0." How could it be step 0. Doesn't first have to move in order to find out a result.....? This message is very misleading. Lindo keeps a record of any previous activities performed prior to solving any problem you submit in its memory. Therefore it does not show exactly how many iterations it took to solve your specific problem. Here is a detailed explanation and remedy for finding the exact number of iterations: Suppose you run the problem more than once, or solve a similar problem. To find out how many iterations it really takes to solve any specific problem, you must quit Lindo and then re-enter, retype, and resubmit the problem. The exact number of vertices (excluding the origin) visited to reach the optimal solution (if it exists) will be shown correctly.

Following this is the solution to the problem. That is, the strategy to set the decision variables in order to achieve the above optimal value. This is stated with a variable column and a value column. The value column contains the solution to the problem. The cost reduction associated with each variable is printed to the right of the value column. These values are taken directly from the final simplex tableau. The value column comes from the RHS. The reduced cost column comes directly from the indicator row.

Below the solution is the `SLACK OR SURPLUS' column providing the slack/surplus variable value. The related shadow prices for the RHS's are found to the right of this. Remember: Slack is the leftover of a resource and a Surplus is the excess of production.

The binding constraint can be found by finding the slack/surplus variable with the value of zero. Then examine each constraint for the one which has only this variable specified in it. Another way to express this is to find the constraint that expresses equality with the final solution.

Below this is the sensitivity analysis of the cost coefficients (i.e., the coefficients of the objective function). Each cost coefficient parameter can change without affecting the current optimal solution. The current value of the coefficient is printed along with the allowable increase increment and decrease decrement.

Below this is the sensitivity analysis for the RHS. The row column prints the row number from the initial problem. For example the first row printed will be row two. This is because row one is the objective function. The first constraint is row two. The RHS of the first constraint is represented by row two. To the right of this are the values for which the RHS value can change while maintaining the validity of shadow prices.

Note that in the final simplex tableau, the coefficients of the slack/surplus variables in the objective row give the unit worth of the resource. These numbers are called shadow prices or dual prices. We must be careful when applying these numbers. They are only good for "small" changes in the amounts of resources (i.e., within the RHS sensitivity ranges).

Creating the Non-negativity Conditions (free variables): By default, almost all LP solvers (such as LINDO) assume that all variables are non-negative.

To achieve this requirement, convert any unrestricted variable Xj to two non-negative variables by substituting y - Xj for every Xj. This increases the dimensionality of the problem by only one (introduce one y variable) regardless of how many variables are unrestricted.

If any Xj variable is restricted to be non-positive, substitute - Xj for every Xj. This reduces the complexity of the problem.

Solve the converted problem, and then substitute these changes back to get the values for the original variables and optimal value.

Numerical Examples

Maximize -X1
subject to:
X1 + X2 ³ 0,
X1 + 3X2 £ 3.

The converted problem is:
Maximize -y + X1
subject to:
-X1 - X2 + 2y ³ 0,
-X1 - 3X2 + 4y £ 3,
X1 ³ 0,
X2 ³ 0,
and y ³ 0.

The optimal solution for the original variables is: X1 = 3/2 - 3 = -3/2, X2 = 3/2 - 0 = 3/2, with optimal value of 3/2.

For details on the solution algorithms, visit the Web site Artificial-Free Solution Algorithms, example N0. 7 therein.

Computer Implementations with the WinQSB Package

Use the LP/ILP module in your WinQSB package for two purposes: to solve large problems, and to perform numerical experimentation for understanding concepts we have covered in the LP and ILP sections.

Variable Type: Select the variable type from the "Problem Specification" screen (the first screen you see when introducing a new problem); for linear programming use the default "Continuous" option.

Input Data Format: Select the input data format from the "Problem Specification" screen. Usually, it is preferred to use the Matrix format to input the data. In the Normal format the model appears typed in. This format may be found more convenient when solving a large problem with many variables. You can go back and forth between the formats, selecting the "Switch to the…" from the Format menu.

Variable/Constraint Identification: It is a good idea to rename variables and constraints to help identify the context they represent. Changing the names of variables and constraints is done in the Edit menu.

Best Fit: Using the best fit from the Format menu lets each column have its own width.

Solving for the Optimal Solution (if it exists): Select Solve the problem from the Solve and analyze menu, or use the "solve" icon at the top of the screen. The run returns a "Combined Report" that gives the solution and additional output results (reduced costs, ranges of optimality, slack/surplus, ranges of feasibility, and shadow prices).

Solving by the Graphic Method: Select the Graphic method from the Solve and Analyze menu (can only be used for a two-variable problem.) You can also click the graph icon at the top the screen. You can re-scale the X-Y ranges after the problem has been solved and the graph is shown. Choose the Option menu and select the new ranges from the drop down list.

Alternate Optimal Solutions (if they exist): After solving the problem, if you are notified that "Alternate solution exists!!", you can see all the extreme point optimal solutions by choosing the Results menu and then select Obtain alternate optimal. Also visit Multiple Solutions section on this Web site for some warnings.


Use the "Help" file in WinQSB package to learn how to work with it.

For entering problem into the QSB software; for a constraint such as X1 + X2 ³ 50, the coefficient is 1 and should be entered that way in the software. For any variables that are not used in that particular constraint (for example if there was X3 in the problem but it was not part of the above constraint), just leave the cell blank for that constraint.

You can change the direction of a constraint easily by clicking on £ (or ³) cell.

To construct the dual of a given problem click on Format, then select Switch to the Dual Form.

If you are not careful you may have difficulty with entering LP problem in WinQSB. For example, in a given problem a few of your constraints may have variable on the right hand side (RHS). You cannot enter variable name on the RHS cell otherwise you keep getting an infeasibility response. Only numbers can be entered on the RHS. For example, for the constraint X2 + X4 £ .5X5 one must write it first in the form of X2 + X4 - .5X5 £ 0, then using any LP package including your QSB.

Managerial Interpretation of the WinQSB Combined Report

The LP/ILP module in WinQSB, like any other popular Linear programming software packages solves large linear models. Most of the software packages use the modified Algebraic Method called the Simplex algorithm. The input to any package includes:
  1. The objective function criterion (Max or Min).
  2. The type of each constraint.
  3. The actual coefficients for the problem.

The combine report is a solution report consists of both the solution to the primal (original) problem and it Dual.

The typical output generated from linear programming software includes:

  1. The optimal values of the objective function.
  2. The optimal values of decision variables. That is, optimal solution.
  3. Reduced cost for objective function value.
  4. Range of optimality for objective function coefficients. Each cost coefficient parameter can change within this range without affecting the current optimal solution.
  5. The amount of slack or surplus on each constraint depending on whether the constraint is a resource or a production constraint.
  6. Shadow (or dual) prices for the RHS constraints. We must be careful when applying these numbers. They are only good for "small" changes in the amounts of resources (i.e., within the RHS sensitivity ranges).
  7. Ranges of feasibility for right-hand side values. Each RHS coefficient parameter can change within this range without affecting the shadow price for that RHS.

The following are detailed descriptions and the meaning of each box in the WinQSB output beginning in the upper left-hand corner, proceeding one row at a time. The first box contains the decision variables. This symbol (often denoted by X1, X2, etc.) represents the object being produced. The next box entitled "solution value" represents the optimal value for the decision variables, that is, the number of units to be produced when the optimal solution is used. The next box entitled "unit costs" represents the profit per unit and is the cost coefficient of the objective function variables.

The next box "total contribution", is the dollar amount that will be contributed to the profit of the project, when the total number of units in the optimal solution is followed. This will produce the optimal value. The next bow is the "Reduced Cost", which is really the increase in profit that would need to happen if one were to begin producing that item, in other words the product, which is currently is not produce becomes profitable to produce.

The next box over is the "allowable minimum" and "allowable maximum", which shows the allowable change in the cost coefficients of that particular item that can happen and still the current the optimal solution remains optimal. However, the optimal value may change if any cost coefficient is changed but the optimal solution will stay the same if the change is within this range. Remember that these results are valid for one-change-at-a-time only and may not be valid for simultaneous changes in cost coefficients.

The next line is the optimal value, i.e., and the value of objective function evaluated at optimal solution strategy. This line shows the maximum (or minimum) value that can be derived under the given the optimal strategy.

The next line down contains the constraints; often C1, C2, etc. denote the constraints. Starting on the left-hand side the first box contains the symbol C1 that represents the first constraint. The next box is the constraint value. That is, the left-hand-side (LHS) of each C1 evaluated ate the optimal solution. The next box over is the "direction box", which is either greater than or equal to / less than or equal to, which are the direction of the each constraint. The next box is the right hand side value, which states the value that is on the right hand side of each constraint.

The next box is the difference between RHS and LHS numerical values called the slack or surplus box. If it is slack, it will have a less than or equal to sign associated with it, which means there is leftover of resources/raw material. If there is a surplus it will have a greater than or equal to sign associated with it, which means that there are over production. Next box over is the shadow price. If any slack or surplus is not zero then its shadow price is zero, however the opposite statement may not be correct. A shadow price is the additional dollar amount that will be earned if the right hand side constraint is increased by one unit while remaining within the sensitivity limits for that RHS.

The next two boxes show the minimum and maximum allowable for the right hand side constraints. The first box (minimum box) shows the minimum value that the RHS constraint can be moved to and still have the same current shadow price. The second box shows the maximum number that the constraint can be moved to and still have the same current shadow price. Recall that the shadow prices are the solution to the dual problem. Therefore, the allowable change in the RHS suggest how far each RHS can be can go-up or down while maintaining the same solution to the dual problem. In both cases the optimal solution to the primal problem and the optimal value may change.

Also visit the Web site: OR-Notes: LP

Solving LP Problems by Excel

In solving an LP problem by the Solver module in the Excel, it is assumed that you have a good working knowledge and familiarity with the Excel. The following is the steps for solving LP problems:

  1. Before you begin using Solver, you should first enter the problem's parameters.
  2. Click Tools, then click Solver.
  3. In the Set Target Cell box, enter the cell you want to maximize, minimize or set to a specific value (Point to cell E18.) $E$18 should now appear in the box (Note: cell references should always be absolute).
  4. Click the Max option button to indicate that you want Solver to maximize the Total Profit.
  5. In the By Changing Cells box, enter the cell or range of cells that Excel can change to arrive at the solution (Highlight cells C15:D15).
  6. Click the Subject to the Constraints box, then click the Add... button to add the constraints: For exanple E17<=40 and E19<=50 and C15:D15>=C14:D14.
  7. Click the OK button.
  8. Click the Solve button.
  9. Click the OK button.

Computer Implementations of Network Models: WinQSB Package

  1. Prepare a network model for the problem. (Note: you don't have to have a formal model for the data entry. You may modify it along with the process.)
  2. Select the command New Problem to start a new problem. The program will display a form to specify the problem. Click the problem type, objection function criterion, and the matrix form for the data entry. Also enter the number of nodes and the problem name. Press OK button when specification is done. A spreadsheet will appear for entering the network connection.
  3. Enter the arc or connection parameter/coefficient on the spreadsheet (matrix). Here are some tips:
  4. If there is no connection between two nodes, you may leave the corresponding cell empty or enter "M" for infinite cost.
  5. Use Tab or arrow keys to navigate in the spreadsheet.
  6. You may click or double click a data cell to select it. Double clicking the light blue entry area above the spreadsheet will high-light the data entry.
  7. Click the vertical or horizontal scroll bar, if it is shown, to scroll the spreadsheet.
  8. (Optional) Use the commands from Edit Menu to change the problem name, node names, problem type, objective function criterion, and to add or delete nodes. You may also change the flow bounds from Edit Menu if the problem is a network flow problem.
  9. (Optional) Use the commands from Format Menu to change the numeric format, font, color, alignment, row heights, and column widths. You may also switch to the graphic model from the Format Menu.
  10. (Optional, but important) After the problem is entered, choose the command Save Problem As to save the problem.

Decision Analysis Implementation with the WinQSB Package

The Da.exe "Decision Analysis" module in your WinQSB package is used for two distinct purposes: to solve large problems, and to perform numerical experimentation. Numerical experimentation including what-if analysis of the payoff matrix and the subjective probability assignments to the states of nature.

The following functions are available in the Da.exe module:

Bayesian Analysis: Select this option from the Problem Specification screen to input prior probabilities and conditional probabilities (probability of an indicator value given a state of nature). Then, press the 'solve' icon to obtain the posterior probabilities.

Decision Trees: You must draw the decision tree first to number all nodes, including the terminal nodes. These numbers become the node IDs, when building the decision tree within the program.

When you are ready to enter the data, select the option 'Decision Tree Analysis' from the 'Problem Specification' screen.

For each node, you will indicate the number of nodes immediately connected to it (type <node number>,…, <node number>).

Mistakes may be corrected by directly typing the changes into the proper cells.

Visit also:
Simulation Software Survey
Linear Programming
Forecasting Software Survey
Decision Analysis Software Survey

Back to
Applied Management Science: Making Good Strategic Decisions
main Web site.

Back to
OPRE640 Course Information: Applied Management Science
main Web site.

A selection of:

|Academic Info Association for Facilities Engineering (AFE)| BUBL Catalogue| Business Majors| Decision Sciences Institute| Education World| Infography| IFORS|

|Mathematics Resources| MathForum: Engineering| NEEDS| Operations Management| OR Resources| Penn State U.| Portuguesa de Investigação Operacional| Production and Operations Management Society|

Search Engines Directory
| AltaVista| AOL| Excite| HotBot| Looksmart| Lycos| MSN| Netscape| NetFirst| OpenDirectory| OpenHere| Webcrawler| Yahoo|

|Scout Report for Business & Economics |Twirlix: Unternehmensforschung |Virtual Library |World Lecture Hall|

Additional useful sites may be found by clicking on the following search engine:


The Copyright Statement: The fair use, according to the 1996 Fair Use Guidelines for Educational Multimedia, of materials presented on this Web site is permitted for non-commercial and classroom purposes only.
This site may be mirrored intact (including these notices), on any server with public access, and linked to other Web pages.

Kindly e-mail me your comments, suggestions, and concerns. Thank you.

Professor Hossein Arsham   

This site was launched on 2/25/1994, and its intellectual materials have been thoroughly revised on a yearly basis. The current version is the 8th Edition. All external links are checked once a month.

Back to:

Dr Arsham's Home Page

EOF: Ó 1994-2011.