Introduction To WinQSB
Introduction To WinQSB
The New Problem option generates a template for inserting the characteristics of our problem:
2. SAMPLE PROBLEM
By means of a sample problem, we will show how data are entered to create a new linear
programming problem.
EXAMPLE
The firm ABC S.A. wants to know the number of A, B, and C products that it should produce in
order to maximise profit taking into account that each unit sold generates a utility of 150€, 210€
and 130€ per unit, respectively. Each product goes through 3 different working tables, restricting
the number of units produced because of the time available at each of the tables. The following
chart shows the time required for each product unit at each table and the total time available during
the week (time expressed in minutes):
Required Required Required time
time time Table 3
Table 1 Table 2
Product 1 10 12 8
Product 2 15 17 9
Product 3 7 7 8
Total available time by 3300 3500 2900
table
It is assumed that each unit produced is sold automatically. Determine the combination of products
required to maximise the firm’s profit. After analysing the example, the reader will create a
mathematical model.
Decision variables:
X1=number of product 1 units to produce
X2=number of product 2 units to produce
X3=number of product 3 units to produce
Objective Function:
Max. Z = 150*X1 + 210*X2 + 130*X3
Restrictions:
10*X1 + 15*X2 + 7*X3 ≤ 3300 (Minutes)
12*X1 + 17*X2 + 7*X3 ≤ 3500 (Minutes)
8*X1 + 9*X2 + 8*X3 ≤ 2900 (Minutes)
X1, X2, X3 ≥ 0
First, we must establish that this is a Maximization product with three constraints and three
variables (which we will use as continuous nonnegative variables).
Once this is clear, feed the program from the New Problem window.
After all the fields have been filled in, click on the OK
button to generate new options within the program.
If the Spreadsheet Matrix Form is chosen, a new window will open in the working area to insert
the mathematical model.
The first row (Variable -->) is the heading of the variables which the system
defines automatically as X1, X2 and X3 (the three sample variables),
followed by the relationship operator (Direction) and the constraints
solution or Right Hand Side -R. H. S. The name of the variables can be
changed in the Variables Names submenu from the Edit menu.
The second row (Maximize) is for inserting the coefficients of the objective function. Several rows
identified with the letter Ci will appear followed by a consecutive corresponding to the number of
constraints of the model (C1 indicates “Constraint 1”, etc.)
Lastly, three rows appear where the minimum accepted value for each variable (Lower Bound),
the maximum value (Upper Bound) and the type of variable (Variable Type) are defined. In the
case of the maximum value, M means that the variable can receive very large values (tending to
be infinite).
To change the relationship operators, click twice on top using the left-hand side of the mouse. The
other rows remain unchanged.
After inserting the model in the template, use the tools provided in the Solve and Analyze menu.
The menu offers the following options:
For the example problem, select the first option in the Solve and Analyze menu. A small window
will pop up with the message: “The problem has been solved. Optimal solution is achieved”.
Click on the Accept button and the program will automatically generate the optimal solution.
This matrix displays sufficient information on the solved model. The upper section relates to the
analysis of the defined variables (X1, X2 and X3).
The Solution Value column displays the optimal values that were found. In this example, X1
represents 0 units, X2 105.4795 units and X3 is 243.8356 units.
The Unit Cost or Profit column displays the initial coefficients of each variable in the objective
function.
The Total Contribution column displays the cost or profit (or whatever the objective is) generated
by each variable. For example, as the value of the X2 variable is 105.4795 units and the profit per
unit is 210€, the total profit will be the result of multiplying both values, arriving at the figure of
22,150.69€. The optimal objective value (53,849.32€) appears just below the last contribution.
The Reduced Cost column identifies the cost generated by increasing one unit for each at bound
variable. The following column, Basis Status, indicates if a variable is basic or non basic
(indicating that it’s non basic as at bound).
The following section of the final matrix (Constraints Summary), displays the system’s dummy
variables (slack or surplus).
The Left Hand Side column displays the value achieved by replacing X1, X2 and X3 values in
each restriction (bear in mind that each restriction is identified with its corresponding dummy
variable).
The following two columns (Direction and Right Hand Side) display the specifications given to the
constraints in terms of the relationship operator (≤) and the original values of the constraints
(3,300, 3,500 and 2,900 minutes).
The Slack or Surplus columns show the values of the dummy variables and the Shadow Price
column relates to the shadow prices: how much would you be willing to pay for an additional
unit of each resource?
WINQSB makes it possible to display the optimal results by means of the format applied by the
Simplex method. To be able to display this format, once the problem has been solved, select the
Final Simplex Tableau option from the Results menu.