Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
U Primal pivot operations The idea of primal pivot operations is to increase flow over a basis circuit belonging to an arc with negative shadow price. This will decrease the total cost. U Pivot operation There is an arc (a-d) with negative shadow price. Increasing the flow over the corresponding basis circuit will decrease total cost. This increase is bounded by a-d (12), c-f (1) and a-c (21), so maximal possible increase is 1. Now c-f is bonded, remove it from the spanning tree. a-d becomes basic arc: Now recomputed the potentials (green) and the shadow prices: cce ’ = 18 – 11 – 8 = -1 cef ’ = 11 – 15 + 6 = 2 B B B B (floor arc) (roof arc) Now c-e has negative shadow price: The flow in its basis circuit can be increased by 10. Compute new basis flow Compute new potentials Compute new shadow prices ccf ’ = 11 – 15 + 6 = 2 cde’ = 19 – 8 – 10 = 1 B B B B All shadow prices are non-negative. No increase is possible, the solution is optimal. Cost = 791. A basis flow is called primal feasible if and only if it satisfies all capacity restrictions. U U A basis flow is called dual feasible if and only if all shadow prices are nonnegative. U U A flow that is both primal and dual feasible is optimal (this follows from LP duality theory) Primal pivot operation: 1. Find a basis arc l with c l ’ < 0. 2. Augment the flow over the basic circuit C l with a maximal flow that satisfies all capacity bounds. 3. Choose a blocking arc k on C l. 4. Perform a pivot operation on (k,l): 4a. k is the new bonded arc. 4b. l is the new basis arc 4c. recomputed the basis flow 4d. recomputed the potentials 4e. recomputed the shadow prices 5. If there is a negative shadow price (choose the most negative and) go to 2. B B B B B B The primal pivot operation adapts the flow while keeping primal feasibility, meanwhile the cost is reduced. Finding a primal feasible basis flow to start with may be difficult. A non-feasible flow can be converted into a feasible flow on an adapted network by adding extra arcs: If the original problem has an optimal solution, then the flow on the extra arcs will be 0. If the original problem does not have a feasible flow, then the optimal flow on the augmented network will have non-zero flows on extra arcs. This is similar to the two-phase (Big M) approach for LP problems where you cannot start in the origin Recomputation of the potentials can be done easily. Removing an arc from the spanning tree cuts it in two connected parts. The potentials on the component of the root do not change. The potentials on the other component all change by the same amount: v’ = v + c l’ if augmentation direction is w v. = v - c l’ if augmentation direction is v w. B B B B B B B B B B U Dual pivot operation Now suppose we change the restriction on a-d from [8,20] to [8,15]. The solution found earlier is not primal feasible, but it is dual feasible (all shadow prices are nonnegative). Arc a-d violates primal feasibility. Choose this arc to pivot and remove it from the spanning tree. Now c-f or d-e is needed to restire the spanning tree. Choose the one with the smallest shadow price: c cg’ = 2, c de’ = 1, so choose d-e (choosing the smallest shadow price guarantees that after pivoting all shadow prices are still nonnegative, so the solution stays dual feasible). B B B B Recompute the flow, the potentials and the shadow prices: cad’ = 10 – 15 + 6 = 1 ccf ’ = 8 – 2 – 5 = 1 B B B B both are positive (dual feasible). The new flow satisfies all capacity bounds (primal feasible) and is therefore optimal! Cost = 795.