9
LINEAR PROGRAMMING PROBLEM Many problems can be formulated as maximizing or minimizing an objective, given limited resources and competing constraints. If we specify the objective as a linear function of certain variables, and if we can specify the constraints on resources as equalities or inequalities on those variables, then we have a linear-programming problem. Linear programs arise in a variety of practical applications. General linear programs In the general linear-programming problem, we wish to optimize a linear function subject to a set of linear inequalities. Given a set of real numbers al, a2, ..., an and a set of variables Xl, X2, ..., X n , a linear function f on those variables is defined by 11 J-J'(x X x) = ax =a x + ... r a x = 'a x -, 1' •..•::I'"""' 11 1"1 ::I 2 11 11 ..;:.... i- i J-1 If b is a real number and f is a linear function, then then equation

Scan Doc0002

Embed Size (px)

Citation preview

LINEAR PROGRAMMINGPROBLEM

Many problems can be formulated as maximizing orminimizing an objective, given limited resources andcompeting constraints. If we specify the objective as a linearfunction of certain variables, and if we can specify theconstraints on resources as equalities or inequalities on thosevariables, then we have a linear-programming problem. Linearprograms arise in a variety of practical applications.

General linear programs

In the general linear-programming problem, we wish tooptimize a linear function subject to a set of linearinequalities. Given a set of real numbers al, a2, ..., an and a setof variables Xl, X2, ..., Xn, a linear function f on thosevariables is defined by

11

J-J'(x X x) = a x =a x + ... r a x = 'a x• -, 1' •..•::I'"""' 11 1"1 ::I 2 11 11 ..;:.... i- iJ-1

If b is a real number and f is a linear function, then thenequation

is a linear equality and the inequalities

and

are linear inequalities. We use the term linear constraints todenote either linear equalities or linear inequalities. In linearprogramming,we do not allow strict inequalities. Formally, alinear-programming problem is the problem of eitherminimizingor maximizing a linear function subject to a finiteset of linear constraints. If we are to minimize, then we callthe linear program a minimization linear program, and if weare to maximize, then we call the linear program amaxlmiratton linear program.

ProblelD Input

Consider a linear programming problem,

Maximize eT xsubject to Ax _ h, x _ o.

The simplex algorithm requires the linear programmingproblem to be in augmented form. The problem can then bewritten as follows in matrix form:

Maximize Z in:

[1 _eT 01 [.z....] = [..'0].OA IJ x b

Xs

where x are the variables from the standard form, Xs are theintroduced slack variables from the augmentation process, C

contains the optimization coefficients, A and b describe thesystem of constraint equations, and Z is the variable to bemaximized.

The system is typically underdetermined, since the numberof variables exceeds the number of equations. Thedifference between the number of variables and the numberof equations gives us the degrees of freedom associated withthe problem. Any solution, optimal or not, will thereforeinclude a number of variables of arbitrary value. The simplexalgorithm uses zero as this arbitrary value, and the numberof variables with value zero equals the degrees of freedom.

Variables of nonzero value are called basic variables, andvariables of zero value are called nonbasic variables in thesimplex algorithm. [This definition is problematic, since basicvariables can also take zero value.]

This form simplifies finding the initial basic feasible solution(BF), since all variables from the standard form can bechosen to be nonbasic (zero), while all new variablesintroduced in the augmented form are basic (nonzero). sincetheir value can be trivially calculated (X.~d= b, for them, sincethe augmented problem matrix is diagonal on its right half).

AN OVERVIEW ON LINEARPROGRAMMING

In order to describe properties of and algorithms for linearprograms, it is convenient to have canonical forms in which toexpress them. We shall use two forms, standard and slackInformally, a linear program in standard form is themaximization of a linear function subject to linearinequalities, whereas a linear program in slack form is themaximization of a linear function subject to linear equalities.

APPLICATIONS OF LINEARPROGRAMMING

Linear programming has a large number of applications. It isnow a standard tool taught to students in most businessschools. The election scenario is one typical example. Twomore examples of linear programming are the following:

• An airline wishes to schedule its flight crews. TheFederal Aviation Administration imposes manyconstraints, such as limiting the number of consecutivehours that each crew member can work and insistingthat a particular crew work only on one model ofaircraft during each month. The airline wants toschedule crews on all of its flights using as few crewmembers as possible.

• An oil company wants to decide where to drill for oil.Siting a drill at a particular location has an associatedcost and, based on geological surveys, an expectedpayoff of some number of barrels of oil. The companyhas a limited budget for locating new drills and wants tomaximize the amount of oil it expects to find, given thisbudget.

THE SIMPLEX METHOD

The Simplex Method is Ita systematic procedure forgenerating and testing candidate vertex solutions to a linearproqrcm." It begins at an arbitrary corner of the solutionset. At each iteration, the Simplex Method selects thevariable that will produce the largest change towards theminimum(or maximum)solution. That variable replaces oneofits compatriots that is most severely restricting it, thusmoving the Simplex Method to a different corner of thesolution set and closer to the final solution. In addition, theSimplex Method can determine if no solution actually exists.Note that the algorithm is greedy since it selects the bestchoice at each iteration without needing information frompreviousor future iterations.

The Simplex Method solves a linear program of the formdescribed in Figure. Here, the coefficients Cj represent therespective weights, or costs, of the variables x} Theminimized statement is similarly called the cost of thesolution. The coefficients of the. system of equations arerepresented by aj, and any constant values in the system of .equations are combined on the right-hand side of theinequality in the variables bj, Combined, these statementsrepresent a linear program, to which we seek a solution ofminimumcost.

Figurem mi mi z e

nLe.x.

,I Ji-I

(i = 1,2, , m < n)(j = 1.2, ,n)

subject to

A Linear Program

Solving this linear program involves solutions of the set ofequations. If no solution to the set of equations is yet known,slack variables Xn+l' xn+2,···, xn+lI!, adding no cost to the solution,are introduced. The initial basic feasible solution (BFS) willbe the solution of the linear program where the followingholds:

(i = 1 2 ... n)" ,(i = n + 1,n + 2,···, n + ,m)

Once a solution to the linear program has been found,successive improvements are made to the solution. Inparticular, one of the non-basic variables (with a value ofzero) is chosen to be increased so that the value of the cost

n

Lexfunction, I-J. I I , decreases. That variable is then increased,maintaining the equality of all the equations while keeping theother non-basic variables at zero, until one of the basic(nonzero) variables is reduced to zero and thus removed

&l'

from the basis. At this point, a new solution has beendetermined at a different corner of the solution set.

The process is then repeated with a new variable becomingbasic as another becomes non-basic. Eventually, one of threethings will happen. First, a solution may occur where no non-basic variable will decrease the cost, in which case thecurrent solution is the optimal solution. Second, a non...basicvariable might increase to infinity without causing a basic-variable to become zero, resulting in an unbounded solution.Finally, no solution may actually exist and the SimplexMethod must abort. As is common for research in linearprogramming, the possibility that the Simplex Method mightreturn to a previously visited corner will not be consideredhere.

The Big M Method -Introducing slack, surplus and

artificial variables.

1. If any problem constraint have negative constant on theright side, multiply both sides by -1 to obtain aconstraint with a non-negative constant.

2. Introduce a slack variable in each i constraints.3. Introduce a surplus variable and an artificial variable in

each ~constraint.4. Introduce an artificial variable in each = constraint.5. For each artificial variable Ai .cdd -MAi to the objective

function in case of maximization and +MAi in case ofminimization. Use the same constant M for artificialvariables.

6. Form the simplex table for the modified problem.7. Solve the modified problem by the simplex table.8. Relate the solution of the modified problem to the

original solution:i. If the modified problem has no solution, then the

original problem has no solution.ii. If any artificial variables are non-zero in the solution .

to the modified problem, then the original problemhas no solution.