Reviving the Simplex Algorithm
Total Page:16
File Type:pdf, Size:1020Kb
WUCSS 2016 April 5, 2016 Page 1 Reviving the simplex algorithm Sponsored by Walailak University (WU) Interdisciplinary Center of Scientific Computing (IWR) National Electronics and Computer Technology Center (NECTEC) The Development for the Promotion of Science and Technology Talents Project (DPST) Assistant Professor Krung Sinapiromsaran, Ph. D. Department of Mathematics and Computer Science Faculty of Science, Chulalongkorn University Applied Mathematics and Computational Sciences Page 2 Outline ● Linear programming history ● Linear programming problems and models ● The standard simplex algorithm from Dantzig ● Improvement of the simplex algorithm ● Cosine angle or minimal angle concept ● Artificial-free simplex algorithm ● Simplex algorithm with an unrestricted variable problem Page 3 http://pioneer.netserv.chula.ac.th/~skrung Page 4 Linear programming history •1827: Fourier-Motzkin elimination algorithm was proposed to reduce the number of variables in a k system of linear inequalities. Complexity O ( m 2 ) Joseph Fourier where k is the number of successive step and m is the number of inequalities. •1939: Leonid Kantorovich formulated and solved a planning for expenditures and returns during World Leonid KantorovichWar II •1975: Nobel prize in economics was award to Leonid Kantorovich together with Tjalling Charles Koopmans Tjalling Koopmans Source:http://www.wikipedia.org/wiki/Linear_programming 11 March 2016 Page 5 Linear programming history •1947: George B. Dantzig published the simplex method (the simplex algorithm) to efficiently find the solution of a linear programming problem for US Air Force. •1979: Leonid Khachiyan published the ellipsoid algorithm for solving a linear programming model in polynomial time. However, his algorithm is not Leonid Khachiyan practical for the real world problems. •1984: A new interior-point method was introduced by Narendra Karmarkar while he was working for Bell Laboratories. Narendra Karmarkar Source:http://www.wikipedia.org/wiki/Linear_programming11 March 2016 Page 6 Linear programming problems and models Linear Programming Problem:Transhipment Page 7 ● Transhipment (Transshipment) is the shipment of goods to an intermediate station then to the destination. ● If there is no intermediate station, then this is called the transportation. c cost of shipping m n i,j Minimize c x ∑ ∑ i , j i , j ai goods available at node i m origins i=1 j=1 m+n m+n − = ∀ = subject to ∑ xi ,s ∑ xr ,i ai i 1,...,m n destination s=1 r=1 m+n m+n ∑ xr ,m+ j−∑ xm+ j , s=bm+ j ∀ j=1,... ,n r=1 s=1 Total available = m n bm+j demand for the goods at node m+j Total demand ∑ ai=∑ bm+ j i=1 j=1 Source: https://en.wikipedia.org/wiki/Transshipment_problem 11 March 2016 Linear Programming Problem:Transportation Page 8 ● Transportation of n origins and m destinations. ai = goods available at origin i, bj = goods demand at destination j. m n ci,j cost of shipping Minimize ∑∑ ci j xi j m origins i=1 j=1 m subject to ∑ xi j≤ai ∀ i=1,...,m j=1 n destination n ∑ xi j≥b j ∀ j=1,...,n i=1 ai goods available at node i bm+j demand for the goods at node m+j Total available = Total demand Page 9 The standard simplex algorithm from Dantzig The standard simplex algorithm from Dantzig Page 10 Canonical form of the LP model Maximize cT x Easily translate to standard form if b > 0 subject to A x≤b x≥0 Optimal point v v1 5 T T Maximize c x+0 s v4 subject to A x+I s=b v2 x≥0, s≥0 v3 General linear program & Big-M method Page 11 Maximize cT x Multiply by -1 if b < 0 subject to A x=b i x≥0 M is a very large positive number. T − T Stop at the optimal, Maximize c x M 1 xa T If 1 xa > 0, then the problem is infeasible. subject to A x+I xa=b Otherwise, the optimal is found. x≥0 , xa≥0 Stop with unbounded case, T If 1 xa > 0, then the problem is infeasible. Otherwise, the unbounded case is founded. General linear program & Two-Phase method Page 12 Maximize cT x Multiply by -1 if b < 0 subject to A x=b i x≥0 If the optimal is zero, Then eliminate xa, continue with this new BFS. Minimize 1T x a Maximize cT x subject to A x+ I x =b a subject to A x=b x≥0 , xa≥0 x≥0 Page 13 Cosine angle and minimal angle concept (Small dimensional problems) General linear program & 2D linear program Page 14 Minimize cT x Gradient vector of objective function subject to A x≤b Minimize c1 x1+c2 x2 subject to a11 x1+a1 2 x2≤b1 a21 x1+a2 2 x2≤b2 ... am1 x1+am2 x2≤bm Minimal angle in 2D (K. Narong, K. Page 15 Sinapiromsaran 2004) GN c u⊥c GN u u c GNN GNN Linear-Time Algorithmin 2-D (N. Megiddo 1983) Page 16 y minimize c1 x 1+ c 2 x 2 x1, x 2 y c x c 0, x = 2 2 1 1 c s.t.ai1 x 1+ a i 2 x 2 ³ b i ( i = 1,..., n ) 1 y minimize y x, y h(x) s.t.y³ ai x + b i ( i Î I1 ), y£ ai x + b i ( i Î I2 ), l £x £ u g(x) x x1 xm xn Time O(n2) Linear-Time Algorithm wrt. # constraints (A. Boonperm & K. Page 17 Sinapiromsaran 2010) Only for non-redundant constrained linear programming problems y h(x) I21 I g(x) 22 I12 I 11 x Optimal solution An improved initial basis Page 18 (Junior & Lins, 2005) The closest angle 2 1 3 Primal problem Dual problem T Maximize bT ω Minimize c x subject to AT ω≤c subject to A x=b x≥0 The new origin point for starting Simplex Algorithm Page 19 (A. Boonperm & K. Sinapiromsaran, 2012) y r c (h,k) 0 / x 0 The new origin point for starting Simplex Algorithm Page 20 (A. Boonperm & K. Sinapiromsaran, 2012) y c (h,k) 0 / x 0 20 Minimal angle in 3D Page 21 Minimize c1 x1+c2 x2+c3 x3 subject to a11 x1+a12 x2+a13 x3≤b1 a21 x1+a22 x2+a23 x3≤b2 ... am1 x1+am2 x2+am3 x3≤bm Projection to 2D LP Iterative vs. KKT Page 22 choice ● Select the binding constraint ai1x1 + ai2x2 + ai3x3 = bi ● Define x3 = (bi – ai1x1 – ai2x2)/ai3 ● Replace it to the remaining constraints and the objective function and solve this 2-dimensional LP. ● Solve it using the minimal angled algorithm. A x*≤b w *T A=cT , w*≥0 w *T ( A x*−b)=0,(cT−w*T A)x*=0 Experimental result Page 23 Page 24 Artificial-free simplex algorithm (How to avoid artificial variables) Criss-cross method (Zionts, 1969) Page 25 The Partitioned Problem: T T Maximize c1 x1+c2 x2 subject to A1 1 x1 + A12 x2≤−b1 A21 x1+ A22 x2≤b2 x1≥0, x2≥0 The algorithm performs alternating during primal and dual iterations. Ineffective in practice. The primal perturbation simplex Page 26 method (Pan, 2000) ● At the origin point, if the problem was neither primal nor dual feasible, ○ Perturbed cost of objective function in primal to guarantee the dual feasibility. Then starts the dual simplex method. ● The the original cost of objective function was restored and the primal simplex will be performed. The computational results were shown to be superior for low dimensional linear programming problems. The big-M free solution algorithm (Arsham, 2006) Page 27 Start with: Relaxed problem: T Maximize c x Maximize cT x subject to A x≤a subject to A x≤a B x≤b x≥0 x≥0 where b < 0, a > 0. T Maximize c x subject to A x+I s=a x≥0, s≥0 Only small examples were shown. Page 28 Simplex implementation Without artificial variables (Our methods) Motivation Page 29 Maximize cT x subject to A x≤b Optimal solution N P Non-acute constraint relaxation Page 30 Optimal solution Motivation Page 31 Motivation Page 32 Initial starting solution Page 33 b λ=max i i∈P {−Ai⋅c } 0 Non-acute constraint relaxation Page 34 Max cT x P is the collection of acute constraints. s. t. A x≤b N is the collection of non-acute constraints. Excluded initially Max cT x s. t. AP x≤bP ,bP≥0 s. t. AN x≤bN ,bN <0 max bi x0=−λ c ,λ= i∈P {−Ai⋅c } Existence of the initial starting solution Page 35 NAR (Non-Acute constraint Relaxation) Page 36 T T Max c x' +c x0 s. t. AP x '≤bP− AP x0 RHS is positive. T T Max c x' +c x0 s. t. AP x '+I s=bP− AP x0, s≥0 T + T - T Max c x −c x +c x0 + - s. t. AP x −AP x + I s=bP− AP x0 s≥0 , x+≥0 , x-≥0 Simplex method based on the Non-Acute constraint Relaxation Page 37 Start Split constraints NAR (Non-Acute constrained relaxation) Solve by the primal simplex method Reinsertion to construct the original problem Solve by the dual simplex method End Simplex method based on the Non-Acute constraint Relaxation Page 38 Max x + 2 x 1 2 No. (i) Ai Ai . c s.t. −2 x1 - x2 ≤ −4 1 [-2, -1] -4 −3 x1 - 3 x2 ≤ −9 2 [-3, -3] -9 −x1 - 2 x2 ≤ −4 3 [-1, -2] -5 −3 x1 + x2 ≤ 6 4 [-3, 1] -1 x1 - 3 x2 ≤ 6 5 [1, -3] -5 2 x1 - 3 x2 ≤ 12 6 [2, -3] -4 3 x1 + 5 x2 ≤ 30 7 [3, 5] 13 x2 ≤ 5 8 [0, 1] 2 −x1 - x2 ≤ −2 9 [-1, -1] -3 −4 x1 - x2 ≤ −4 10 [-4, -1] 6 Simplex method based on the Non-Acute constraint Relaxation Page 39 No.