Optimizations and Programming. Abdelkhalak El Hami
Читать онлайн книгу.1.5.2. Simplex tableau
Suppose that we wish to solve
Let c = (4, 3, 0, 0)T , b = (12, 14)T , (A, I2) =
It is easy to see that x = (x1, x2, x3, x4)T = (0, 0, 12, 14)T satisfies the constraints. Thus, x is a basic feasible solution with basis J = {3, 4} (the third and fourth components of x), whose basic variables are x3 = 12 and x4 = 14.Note that x is not optimal: z(x) = cT x = 0. The optimization procedure constructs a sequence of tables, called simplex tableaus. The first tableau summarizes the data c, b, A′ and the basic variables. The last row is equal to –cT.
Table 1.1. First simplex tableau
General case
Consider the problem
where
and A is an m × n matrix. We may assume without loss of generality that rank A = m < n.DEFINITION 1.9.– Let A = (a1, a2, . . . , an) (where aj is the jth column of A), and, for J ⊂ {1, 2, . . . , n}, let AJ = {aj, j ∈ J}.
– J ⊂ {1, 2, . . . , n} is a basis of (P) if |J| = m and if rank AJ = rank (aj, j ∈ J) = m;
– let x = (x1, . . . , xn)T ∈ Then xj is a basic variable (respectively, non-basic variable) if j ∈ J (respectively, j ∉ J). We write xJ = (xj, j ∈ J);
– basic feasible solution: x = (x1, . . . , xn)T ∈ such that xj = 0 for j ∉ J and such that Ax = AJ xJ = b.
REMARK.– The advantage of passing from the canonical form to the standard form is that we immediately obtain a basic feasible solution that can be used as a starting point for the simplex algorithm. The basic variables are the slack variables.
1.5.3. Change of feasible basis
Let x be a basic feasible solution of (P). Then
Our goal is to find another feasible basis
– the variable xr enters the basis J : xr → r = 0;
– the variable xk leaves the basis : xk = 0 → k > 0.
Thus,
– Choose r such that[1.3]
– Choose k such that[1.4]
EXAMPLE 1.4.– Returning to the previous example: J = {3, 4}, c3 = c4 = 0, and so zj = 0 for j = 1, 2, 3, 4. Thus, zj − cj = −cj, j = 1, 2, 3, 4. Hence, k = 1.
To choose r,
Thus, r = 2, x4 leaves the basis, and x1 enters the basis. The new basis is
Hence,
Calculating the new tableau
We now apply the transformation x →
To do this, we need a second tableau where xJ is replaced by
The matrix A = (aij, i = 1, . . . , m, j = 1, . . . , n) is replaced by Ā = (āij, i = 1, . . . , m, j = 1, . . . , n) as follows:
[1.5]
This gives
[1.6]
where
The last row of the new tableau is computed in the same way:
[1.7]
EXAMPLE 1.5.– If we apply the above procedure to our example, we obtain Table 1.2.
Table 1.2. Second simplex tableau