simplex terminology michigan ioe

Upload: salman-nazir

Post on 04-Mar-2016

216 views

Category:

Documents


0 download

DESCRIPTION

Simplex Terminology Michigan IOE

TRANSCRIPT

  • A Summary of the Simplex Terminologies

    Siqian Shen (University of Michigan)

    What do we mean when we use the following terms/notation:

    standard-form LP: min{z = cTx : Ax = b, x 0} if you are not given a standard form, but a natural form LP. You need to change to

    standard form first and then do the Simplex method.

    xB: basic variables. (suppose that A is a m n matrix. you will need m out of nvariables to be the basic variables.)

    xN : non-basic variables. (x = [xB xN ] meaning that the rest (n m) variables arenon-basic and you set them to zero)

    B: the basis matrix, consisting of columns in front of the basic variables xB. N : the rest columns in A that are associated with nonbasic variables xN . aj : the jth column in matrix A that is in front of variable xj . (you can have aj, j B

    or aj, j N , depending on whether xj is a basic or a nonbasic variable.) cj : the jth coefficient in front of variable xj in the objective function z =

    jA cjxj .

    the objective can also be written as z = cTx = cBxB+cNxN where cB and cN are bothvectors consisting of coefficients cj, j B and cj, j N . zk ck: the reduced cost of variable xk; you can use

    zk ck = cBB1ak ckto calculate the reduced cost for any variable xk. Note that the overall objectivevalue is

    z = cBB1b

    kN

    (zk ck)xk

    yk: the coefficient of xk when expressing the relationship between xB (basic vari-ables) and xk (one of the non-basic variables), i.e.,

    yk = B1ak.

    Note thatxB = B

    1bkN

    ykxk.

    yik: the ith row of the column yk for variable k. Suppose that xk is a nonbasic vari-able, then yik will tell you how a basic variable xi, i B changes if we increase xkby one unit, for all k N .

  • xB = B1b: use B1b to calculate the current value of basic variables xB where b isthe right-hand side in your LP. All values of xN are zero because they are nonbasicvariables.

    z0 = cBB1b: is the current objective value, where you can find the definition of cBabove.

    enter a variable: when we say enter a variable it means that we are trying toincrease a non-basic variable, say xjs value from zero to a positive number. Be-cause it will be positive, it will no longer be a nonbasic variable but becomes a basicvariable. Its column aj will then become part of the basis matrix B. Therefore, itenters.

    you will need to compute the reduced cost zkck to see whether you want to enter avariable xk, k N . If some zk ck > 0, it means that z will decrease as you increasexk, then you should enter xk. Otherwise, if all zkck 0 for every nonbasic variable,then it means the current solution is optimal.

    exit a variable: it means that when we enter some nonbasic variable xk, k N ,some current basic variable xi, i Bs value will possibly decrease. When one ofthem hits zero, we say this basic variable is a blocking variable and we make itnonbasic now. That is why its column will exit the basis.

    We need to use the minimum ratio test to decide which variable will exit the basis.We need to look at every entry yik of the entering variable xk for every basic variablexi, i B. We only need to do the test for yik > 0. The minimum ratio test comparesthe ratio of the right hand side of the basic variable xi (the current solution value ofxi in B1b) to yik (which is the ith row of column B1ak). We exit the variable thathas the minimum ratio among all basic variables.

    update a basis matrix: include the column ak of the variable that you enter (sayxk), and exclude the column ai of the variable that you exit (say xi).

    2