Topics on "Operational Research" Mar. 2007, IST

Linear Programming, an introduction

MIGUEL A. S. CASQUILHO IST, Universidade Técnica de Lisboa, Ave. Rovisco Pais, IST; 1049-001 Lisboa, Portugal Linear Programming is presented at an introductory level, mainly from the book by Hillier and Lieberman [2005], abridged and adapted to suit the objectives of the “Operational Research” course. It begins with segments of its third chapter.

Key words: linear programming; simplex method.

I. Fundamentals and scope

Based on a prototype example, Linear Programming is presented, as well as the simplex method of resolution. This method was first presented by G. B. Dantzig in 1947 [MacTutor, 2007]. The text is based on the book by Hillier and Lieberman [2005], and begins with segments of the third chapter of the book.

II. Explanation of the simplex method 3 Introduction to Linear Programming (H&L 25)

The development of linear programming has been ranked among the most important scientific advances in the mid-20.th century, and we must agree with this assessment. Its impact since just 1950 has been extraordinary. Today it is a standard tool that has saved many thousands or millions of dollars for most companies or businesses of even moderate size in the various industrialized countries of the world; and its use in other sectors of society has been spreading rapidly.

3.1 Prototype example

(H&L 26)

Table 1 Data for the Wyndor Glass Co. problem

Plant A B C Profit per batch Production time per batch (h) Product 1 2 1 0 0 2 3 2 3 000 5 000 Production time available per week (h) 4 12 18

x1 = number of batches of product 1 produced per week x2 = number of batches of product 2 produced per week Z = total profit per week (in $1000) from producing these two products

M. Casquilho is Assistant Professor in the Department of Chemical and Biological Engineering, Instituto Superior Técnico, Universidade Técnica de Lisboa. E-mail address: mcasquilho@ist.utl.pt. © 2007 MC, IST: OR File=Topic-LP.doc

2

MIGUEL CASQUILHO — "Operational Research"

4 Solving Linear Programming problems: the simplex method

(H&L 103)

4.2 Setting up the Simplex Method

(H&L 108)

Original form of the model (“s.t.”, subject to):

[max] z =

s.t. {1}

3 x1 x1 3 x1

+ 5 x2 ≤4 ≤ 12 ≤ 18

2 x2 + 2 x2

and x1 ≥ 0, x2 ≥ 0. Augmented form of the model:

[max] z =

s. to {2}

3 x1 x1 3x1

+ 5 x2

+ 0 x3 + x3

+ 0 x4

+ 0 x5 =4 = 12 = 18

2 x2 + 2 x2

+ x4 + x5

and xi ≥ 0, i = 1..5. The new variables xi, i = 3..5, are the “slack variables”. A basic solution has the following properties: 1. Each variable is designated as either a nonbasic variable or a basic variable. 2. The number of basic variables equals the number of functional constraints (now equations). Therefore, the number of nonbasic variables equals the total number of variables minus the number of functional constraints. 3. The nonbasic variables are set equal to zero. 4. The values of the basic variables are obtained as the simultaneous solution of the system of equations (functional constraints in augmented form). The set of basic variables is often referred to as the basis. 5. If the basic variables satisfy the nonnegativity constraints, the basic solution is a basic feasible (BF) solution. Adjacent solutions: Two BF solutions are adjacent if all but one of their nonbasic variables are the same (so all but one of their basic variables also are the same, although perhaps with different numerical values). Consequently, moving from the current BF solution to an adjacent one involves switching one variable from nonbasic to basic and vice versa for one other variable (and then adjusting the values of the basic variables to continue satisfying the system of equations). It is convenient for the simplex method to rewrite the problem in the following equivalent way:

Linear Programming, an introduction

3

Maximize Z subject to

{3}

(0) (1) (2) (3)...