Nonlinear Systems Solver based on a Bernstein Polytope Chr. F¨ unfzig Un solveur de syst` emes non lin´ eaires bas´ e sur le polytope de Bernstein Christoph F¨ unfzig Dominique Michelucci Sebti Foufou LE2I, Universit´ e de Bourgogne, Dijon, France October 2009 1 / 38
Nonlinear Systems Overview Solver based on a Bernstein Polytope Chr. F¨ unfzig Motivation Multivariate Polynomials in the Tensorial Bernstein Basis (TBB) Bernstein Polytope bounding Monomials of Canonical Basis Subdivision Solver using the Bernstein Polytope Handling of LP Solution Errors Examples Conclusion and Future Work 2 / 38
Nonlinear Systems Cone Sections (in 2D) Solver based on a Bernstein Polytope Chr. F¨ unfzig 2 variables 2 equations 3 / 38
Nonlinear Systems Gough-Stewart Platform Solver based on a Bernstein Polytope Chr. F¨ unfzig Forward kinematics: Cartesian coords: 3 · 3 variables (3 unknown points, 3 fixed), 9 equations Cayley-Menger determinants: 2 unknown distances d 24 and d 35 , 2 degree-4 equations 4 / 38
Nonlinear Systems Tensorial Bernstein-based Solvers Solver based on a Bernstein Polytope Chr. F¨ unfzig IPP [Sherbrooke etal 1993], Synaps [Mourrain,Pavone 2005]: Similar to the tensorial product for the canonical basis (1 , x 1 , x 2 1 , . . . x d 1 1 ) × (1 , x 2 , x 2 2 , . . . , x d 2 2 ) × . . . use the tensorial product for Bernstein polynomials ( B ( d 1 ) ( x 1 ) , . . . , B ( d 1 ) d 1 ( x 1 )) × ( B ( d 2 ) ( x 2 ) , . . . , B ( d 2 ) d 2 ( x 2 )) × . . . 0 0 ◮ Convex hull property of the Bernstein polynomials extends to multivariate polynomials! 5 / 38
Nonlinear Systems Tensorial Bernstein-based Solvers Solver based on a Bernstein Polytope Chr. F¨ unfzig IPP [Sherbrooke etal 1993], Synaps [Mourrain,Pavone 2005]: Similar to the tensorial product for the canonical basis (1 , x 1 , x 2 1 , . . . x d 1 1 ) × (1 , x 2 , x 2 2 , . . . , x d 2 2 ) × . . . use the tensorial product for Bernstein polynomials ( B ( d 1 ) ( x 1 ) , . . . , B ( d 1 ) d 1 ( x 1 )) × ( B ( d 2 ) ( x 2 ) , . . . , B ( d 2 ) d 2 ( x 2 )) × . . . 0 0 ◮ Convex hull property of the Bernstein polynomials extends to multivariate polynomials! ◮ Current Bernstein-based solvers compute all coefficients in the TBB! Only the smallest and the largest are relevant for bounding the range or the solution domain! 6 / 38
Nonlinear Systems Problem: TBB has exponential cardinality Solver based on a Bernstein Polytope Chr. F¨ unfzig Polynomials of total degree 2: 1 , x i , x i x j , x 2 i 1 = ( B (2) 0 ( x 1 )+ . . . + B (2) 2 ( x 1 )) × . . . × ( B (2) 0 ( x n )+ . . . + B (2) 2 ( x n )) Simplicial Bernstein basis [Reuter et al 2008]: Coverage by and subdivision of simplices! We bound the monomial patches ( x i , x 2 i ) and ( x i , x j , x i x j ), i < j by Bernstein polytopes. Polynomial number of faces, still an exponential number of vertices. 7 / 38
The Bernstein polytope for the patch ( x , y = x 2 ) Nonlinear Systems Solver based on a Bernstein Polytope over [0 , 1] Chr. F¨ unfzig B 1 ≥ 0 B 0 ≥ 0 B 2 ≥ 0 0 1 8 / 38
Nonlinear Systems The Bernstein polytope for the patch Solver based on a Bernstein Polytope ( x , y , z = xy ) over [0 , 1] 2 Chr. F¨ unfzig z z y y x x 9 / 38
Nonlinear Systems The Bernstein polytope for the patch Solver based on a Bernstein Polytope ( x , y , z = xy ) over [0 , 1] 2 Chr. F¨ unfzig z z y y x x B (1) 0 ( x ) × B (1) 0 ( y ) ≥ 0 → (1 − x )(1 − y ) ≥ 0 → 1 − x − y + z ≥ 0 B (1) 0 ( x ) × B (1) 1 ( y ) ≥ 0 → (1 − x ) y ≥ 0 → y − z ≥ 0 B (1) 1 ( x ) × B (1) 0 ( y ) ≥ 0 → x (1 − y ) ≥ 0 → x − z ≥ 0 B (1) 1 ( x ) × B (1) 1 ( y ) ≥ 0 → xy ≥ 0 → z ≥ 0 10 / 38
Nonlinear Systems Our solver Solver based on a Bernstein Polytope Chr. F¨ unfzig For polynomials of total degree 2, all monomials are : x i , x i x j , x 2 i . ◮ Associate a variable of an LP to each monomial x i , x i x j , x 2 i (called X i , X ij , X ii ). 11 / 38
Nonlinear Systems Our solver Solver based on a Bernstein Polytope Chr. F¨ unfzig For polynomials of total degree 2, all monomials are : x i , x i x j , x 2 i . ◮ Associate a variable of an LP to each monomial x i , x i x j , x 2 i (called X i , X ij , X ii ). ◮ Handle an arbitrary domain � i =1 ... n [ u i , v i ]: Scale the Bernstein polytope: X i = X i − u i v i − u i with X i ∈ [ u i , v i ] and X i ∈ [0 , 1]. 12 / 38
Nonlinear Systems Our solver Solver based on a Bernstein Polytope Chr. F¨ unfzig For polynomials of total degree 2, all monomials are : x i , x i x j , x 2 i . ◮ Associate a variable of an LP to each monomial x i , x i x j , x 2 i (called X i , X ij , X ii ). ◮ Handle an arbitrary domain � i =1 ... n [ u i , v i ]: Scale the Bernstein polytope: X i = X i − u i v i − u i with X i ∈ [ u i , v i ] and X i ∈ [0 , 1]. ◮ Enclose patches ( x i , x 2 i ) and ( x i , x j , x i x j ) by their Bernstein polytopes. 13 / 38
Nonlinear Systems Our solver: Box reduction with LP Solver based on a Bernstein Polytope Chr. F¨ unfzig ◮ Each equation and inequality of the system gives a linear equality or inequality constraint in the LP problem. 14 / 38
Nonlinear Systems Our solver: Box reduction with LP Solver based on a Bernstein Polytope Chr. F¨ unfzig ◮ Each equation and inequality of the system gives a linear equality or inequality constraint in the LP problem. ◮ Reduction: Minimize and maximize every variable X i . Some freedom on the order of variables! Reduce in index order once, reduce only largest interval, reduce in equation order, . . . 15 / 38
Nonlinear Systems Our solver: Box reduction with LP Solver based on a Bernstein Polytope Chr. F¨ unfzig ◮ Each equation and inequality of the system gives a linear equality or inequality constraint in the LP problem. ◮ Reduction: Minimize and maximize every variable X i . Some freedom on the order of variables! Reduce in index order once, reduce only largest interval, reduce in equation order, . . . ◮ If the LP is not feasible , then the box contains no root . 16 / 38
Nonlinear Systems Our solver: Box reduction with LP Solver based on a Bernstein Polytope Chr. F¨ unfzig ◮ Termination: If the domain box is smaller than a minimum interval width δ in each dimension, then this domain box potentially contains a solution. 17 / 38
Nonlinear Systems Our solver: Box reduction with LP Solver based on a Bernstein Polytope Chr. F¨ unfzig ◮ Termination: If the domain box is smaller than a minimum interval width δ in each dimension, then this domain box potentially contains a solution. ◮ Bisection: If the domain box does not reduce by a constant factor f = 1 2 then there might be several solutions. Bisect along the longest dimension. 18 / 38
Nonlinear Systems Simplex Algorithm in FP Arithmetic Solver based on a Bernstein Polytope Chr. F¨ unfzig Revised simplex method works through bases defining the LP polytope’s vertices (Vertex coordinates are computed by linear system solves using a LU decomposition of the basis matrix.) Simplex algorithm is affected by FP inaccuracy: ◮ Decision that current basis is optimum! [Dhiflaoui, Mehlhorn etal SODA 2003] 19 / 38
Nonlinear Systems Simplex Algorithm in FP Arithmetic Solver based on a Bernstein Polytope Chr. F¨ unfzig Revised simplex method works through bases defining the LP polytope’s vertices (Vertex coordinates are computed by linear system solves using a LU decomposition of the basis matrix.) Simplex algorithm is affected by FP inaccuracy: ◮ Decision that current basis is optimum! [Dhiflaoui, Mehlhorn etal SODA 2003] ◮ Computation of an optimum solution! 20 / 38
Nonlinear Systems Handling of LP Solution Errors Solver based on a Bernstein Polytope Relative error ǫ ( x ) := | δ x | / | x | of the solution vector x by Chr. F¨ unfzig backwards error estimation can be derived using the matrix condition κ ( A ) ǫ ( x ) ≤ 1 − κ ( A ) ǫ ( A ) ( ǫ ( A ) + ǫ ( b )) if κ ( A ) ǫ ( A ) < 1 where ǫ ( A ) := | δ A | / | A | [Wilkinson 1965] κ ( A ) := | A || A − 1 | condition number of A , ǫ ( b ) := | δ b | / | b | rel. error of right-hand side. With the inaccurate borders D ( x i ) = [[ u i , u i ]; [ v i , v i ]] 21 / 38
Nonlinear Systems Timings and Examples Solver based on a Bernstein Polytope Chr. F¨ unfzig 22 / 38
Nonlinear Systems Circle Packing Solver based on a Bernstein Polytope 3 Chr. F¨ unfzig 0 1 2 Problem Let G be a completely triangular planar graph, n vertices, 3 n − 6 edges. Draw vertices of G as circles. If ij is an edge, then circles i and j are tangent. Circles’ interiors are disjoint. Three points can be fixed arbitrarily for exactly one solution! ◮ If i and j is adjacent: ( x i − x j ) 2 + ( y i − y j ) 2 − ( r i + r j ) 2 = 0. 23 / 38
Nonlinear Systems Circle Packing Solver based on a Bernstein Polytope 3 Chr. F¨ unfzig 0 1 2 Problem Let G be a completely triangular planar graph, n vertices, 3 n − 6 edges. Draw vertices of G as circles. If ij is an edge, then circles i and j are tangent. Circles’ interiors are disjoint. Three points can be fixed arbitrarily for exactly one solution! ◮ If i and j is adjacent: ( x i − x j ) 2 + ( y i − y j ) 2 − ( r i + r j ) 2 = 0. ◮ If i and j is not adjacent: ( x i − x j ) 2 + ( y i − y j ) 2 − ( r i + r j ) 2 ≥ 0. 24 / 38
Recommend
More recommend