190 likes | 300 Views
The CORS method Selecting the roots of a system of polynomial equations with combinatorial optimization H. Bekker E.P. Braad B. Goldengorin University of Groningen, The Netherlands. Two implicit curves f1(x,y) and f2(x,y).
E N D
The CORS method Selecting the roots of a system of polynomial equations with combinatorial optimization H. Bekker E.P. Braad B. Goldengorin University of Groningen, The Netherlands
Two implicit curves f1(x,y) and f2(x,y) Problem: calculate the intersections of f1(x,y) and f2(x,y)
Two implicit curves f1(x,y) and f2(x,y) Problem: calculate the intersections of f1(x,y) and f2(x,y) Problem: calculate the intersections of f1(x,y) and f2(x,y)
Presentation outline • Conventional methods • What can go wrong • The CORS method • Results • More dimensions?
Conventional method • Eliminate x from f1(x,y) and f2(x,y) giving P(y) • Solve P(y) numerically, giving the roots y1..yn • Sustitute yi in f1(x,y) and f2(x,y) and solve for x • Select the common root xj from these two equations • The pair (xj,yi) is a solution of f1(x,y) and f2(x,y)
What can go wrong • f1(x,yi) or f2(x,yi) may be zero for every x • Numerical errors: there are no identical solutions of f1(x,yi)=0 and f2(x,yi)=0
Remarks • The conventional approach is not symmetric: first x is eliminated, then y (or the other way around) • Numerical errors: f1(xi,yj) 0, f2(xi,yj) 0 • We are dealing with a matching problem: match every yi with an optimal xj
Q(x) The CORS method
The CORS method • Eliminate x from f1(x,y) and f2(x,y) giving P(y) • Solve P(y) numerically, giving the roots y1..yn • Eliminate y from f1(x,y) and f2(x,y) giving Q(x) • Solve Q(x) numerically, giving the roots x1..xn • Determine the error of every pair (xi,yj): • Construct a weighted bipartite graph G with n x-nodes • and n y-nodes. The weight of edge (xi,yj) is • Calculate the minimum weight matching of G. This gives the • desired n solutions.
Q(x) The CORS method
Q(x) The essence of CORS The CORS method selects n pairs (x,y) from n^2 pairs, so that every x-value and every y-value is used only once and the total error is minimized.
Alternative CORS • Instead of minimizing the sum of the errors it is possible to minimize the maximum error. • Sort all solutions, based on n*n errors, in increasing order • Replace in G the errors with 1, 2, 4, 8, 16, 32, ….. • Calculate the minimum weight matching of G. This gives the solutions with min-max error.
CORS was implemented in C++ CORS was tested on a computational geometry problem CORS results were compared with SYNAPS and MAPLE Results CORS allways found all solutions, SYNAPS missed 2% CORS was 30 times faster than SYNAPS
Can CORS be used for more than two equations and variables? Yes, but then a multidimensional matching algorithm is needed. A conventional branch and bound algorithm may be used to solve the multidimensional matching problem. Currently we are experimenting with a tolerance bases 3D weighted matching algorithm.
Outline for solving the 2D LAP problem using tolerances • Solve the relaxed LAP • Use tolerances to remove multiple selections in columns until all • multiple selection have been removed EXAMPLE RLAP solution Modified RLAP solution 3 3 2 7 3 3 2 7 2 8 4 7 2 8 4 7 4 6 2 1 4 6 2 1 8 5 3 9 8 5 3 9 This method may be generalized to more than two dimensions
Conclusion Using combinatorial optimization to select the roots of a system of polynomial equations (CORS) is an efficient and robust method