150 likes | 294 Views
Solid Modeling Applications of the Assignment Problem. Thomas A. Grandine Fritz Klein Jan Vandenbrande. Multidisciplinary design optimization (MDO) requires massive automation. MDA. Analysis Code. sweep camber twist max thrust crown ht length. drag lift weights heating noise EM
E N D
Solid Modeling Applications of the Assignment Problem Thomas A. Grandine Fritz Klein Jan Vandenbrande
Multidisciplinary design optimization (MDO) requires massive automation MDA Analysis Code sweep camber twist max thrust crown ht length ... drag lift weights heating noise EM ... Geometry Generator Analysis Code Analysis Code Analysis Code Design Parameters Objective Function Values Design Explorer Constraint Function Values
Many matching problems arise as automation increases • Formation of B-rep solids • Construction of edge loops for faces • Part comparison • Feature detection
Pairing needs with resources is the classic assignment problem Professor 1 Student 1 Professor 2 Student 2 Professor 3 Student 3
The assignment problem could also be used to match post-docs with available positions Post-doc 2 Berlin Clausthal Post-doc 1 Kaiserslautern Berkeley Syros
Small assignment problems can be solved efficiently with the Hungarian algorithm • Originally published by Harold Kuhn in 1955 • Kuhn, H. W., "The Hungarian method for the assignment problem," Naval Research Logistics Quarterly, 2: 83–87, 1955. • Revised by James Munkres two years later • Munkres, J., "Algorithms for the Assignment and Transportation Problems," Journal of the Society of Industrial and Applied Mathematics, 5: 32-38, March 1957. • The algorithm is based on the work of two Hungarians, Kőnig and Egerváry, in the 1930s Dénes Kőnig Jenő Egerváry
Trimmed surfaces can be properly constructed from boundary curves via assignment problems
The assignment problem enables proper handling of both boundaries and loops
Faceted (Target) Exact (Authoritative) [?] Some applications require matching part instances with reference solids
1st step is to compute areas of the planar faces of each part Authoritative (exact) Area = 9.574 Area = 9.608 Target (faceted)
Areas of the exact solid faces need to be matched with the areas of the faceted solid Exact solid has only 3 planar faces Add virtual faces to exact solid to match unused faces in faceted solid Need
2nd step is to compute edge lengths and solve assignment problem to match them Length = 5.48566613096 Length= 1.90 Length = 5.48566613096 Length= 1.90 Length = 5.48566613096 Length = 5.48566613096
Multiple curve matches lead to ambiguities which need to be resolved • Solution: Resolve ambiguities by computing distance between face centroids for each possible pairing of edges. Faces Part A Faces Part B e1 e’1 F1 F’1 e’2 e’3 F2 F’2 e’4 Set up 3rd assignment problem and solve to get proper combinations
Compute areas of planar faces Match faces by solving AP Compute lengths of linear edges on matched faces Match edges by solving AP For all potential combinations of matched edges, solve Procrustes’ problem to align parts, then compute distances between centroids Match centroids by solving AP For best matched centroids, compute additional geometric quantities to check for part match. Final algorithm solves assignment problems in 3 different places! MVGL part match algorithm
Boeing application automatically replaces faceted models with detailed assemblies Custom Boeing application replaces isolated, faceted models in the part repository with accurate ones by determining how to position accurate parts where their isolated copies are: Most detail parts exist as exact solids in detail models, often located at the origin in that model. Assemblies usually contain isolated, relocated and renamed copies of detail parts as solids or dittoes. Application retrieves accurate details and replaces isolated ones. Boeing application seeks out and replaces all engineering parts. Application fails to find accurate solids for non-CAD, supplied & standard parts. . . .