Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design of Curves and Surfaces by Multi Objective Optimization Rony Goldenthal Michel Bercovier School of Computer Science and Engineering The Hebrew University.

Similar presentations


Presentation on theme: "Design of Curves and Surfaces by Multi Objective Optimization Rony Goldenthal Michel Bercovier School of Computer Science and Engineering The Hebrew University."— Presentation transcript:

1 Design of Curves and Surfaces by Multi Objective Optimization Rony Goldenthal Michel Bercovier School of Computer Science and Engineering The Hebrew University of Jerusalem

2 Introduction  This work is about curves and surfaces:  Fitting – finding surfaces (curves) as close as possible to a given set of points.  Design/Fairing – generate a surface achieving certain quality measures – design objective (minimal length, minimal curvature,…).

3 Introduction – cont.  Fitting alone is not sufficient, a certain quality of the resulting surface must be ensured.  Design alone is not sufficient, the surface must relate to some real world geometry – fitting is required. How to optimize several functions at once ?

4 Multiple Objective Functions  Suppose we want to incorporate several design objectives into a single optimization process: Approximation error under L 2 or L inf Elastic energy Length/Area Class A criterions How to optimize several functions at once ?

5 Previous work  M. Alhanaty, M. Bercovier; R. Goldenthal, M. Bercovier:  Optimal Control in CAGD: Decouple fitting from design For each knot/parametrization configuration:  Solve the state equation (fitting)  Evaluate the cost function Minimize the cost function (design objective)

6 Standard Approach :Weighted Sum of Objective Functions  Limitations:  Result depends on weights.  Some solutions cannot be reached.  Multiple runs of the algorithm are required in order to get the “whole picture”.  Difficult to select weights – cost functions may be in different scales.

7 ANSWER: Multi Objective Optimization  Multi objective solution does not have a single optimal solution, but an optimal solution set.  Possibility to implement a decision tool.  Natural set up for Genetic Algorithms.

8 Genetic algorithms for the single objective problem  The control variables: knot vector, parametrization and NURBS weights modeled as chromosomes.  Motivation for choosing single objective GA: Highly non-linear behavior of knot vector modification Support splines of any order (degree) Support highly non linear cost functions Support non-derivable cost functions Elegant handling of constrains and singular conditions

9 Single Objective Genetic Algorithm (SOGA) - outline 1.[Start] Generate random population of n individuals. 2.[Fitness] Evaluate the f(x) of all x in the population. 3.[New population] Create a new population from the old population. 4.[Replace] the old population with the new one. 5.[Test] for end condition, stop, and return the best solution in current population. 6.[Loop] Go to step 2.

10 Single Objective Genetic Algorithm (SOGA) - outline 1.[Start] Generate random population of n individuals. 2.[Fitness] Evaluate the f(x) of all x in the population. 3.[New population] Create a new population by these steps (n times): 1.[Selection] Select two parents from the population according to their fitness. 2.[Crossover] performed with a crossover probability. 3.[Mutation] performed with a mutation probability. 4.[Accepting] Place new offspring in the new population. 4.[Replace] the old population with the new one. 5.[Test] for end condition, stop, and return the best solution in current population 6.[Loop] Go to step 2.

11 GA - Example  The parents: t0 = {0,0,0,0,0.14,0.29,0.43,0.57,0.71,0.86,1,1,1,1} t1 = {0,0,0,0,0.22,0.34,0.45,0.55,0.66,0.78,1,1,1,1}  Their encoding: et0 = {0.14,0.14,0.14,0.14,0.14,0.14,0.14} et1 = {0.22,0.12,0.11,0.10,0.11,0.12,0.22}  One Point crossover with split point = 4: ec0= {0.14,0.14,0.14,0.14,0.14,0.12,0.22} Normalization: ec0= {0.14,0.14,0.14,0.14,0.14,0.11,0.21}

12 GA – Example – cont.  Mutation: Before: ec0 = {0.14,0.14,0.14,0.14,0.14,0.11,0.21} After: ec0 = {0.14,0.13,0.13,0.15,0.14,0.11,0.21}

13 The Parents

14 Crossover

15 Mutation

16 Multi Objective Genetic Algorithm  Multi objective optimization has an optimal solution set.  The main advantage of GA for MOO is that GA keeps a population and not a single solution.  The main difference between SOGA and MOGA is in the selection process.

17 MOGA - Selection  Better than and worse than relationships no longer hold.  Relationship among individuals is defined as “domination” relationship.

18 Domination  For any two solutions x 1 and x 2 x 1 is said to dominate x 2 if these conditions hold: x 1 is not worse than x 2 in all objectives. x 1 is strictly better than x 2 in at least one objective.  If one of the above conditions does not hold x 1 does not dominate x 2.

19 Pareto Optimal Set  Non-dominated set: the set of all solutions which are not dominated by any other solution in the sampled search space.  Global Pareto optimal set: there exist no other solution in the entire search space which dominates any member of the set.

20 Multi Objective Genetic Algorithm – cont.  In each generation the non-dominated set is maintained, fitness is adjusted according to the domination of each individual.  In order to encourage diversity in the population fitness is reduced for similar solutions.

21 NURBS Curve  Input points: 28  Control points: 20  Order: 6  Cost Functions: L 2 approximation error Curve Length Curvature

22 NURBS Curve  Approximation Error: 1.12  Curve Length: 3.322  Curvature: 2,082

23 NURBS Curve  Approximation Error: 0.36  Curve Length: 3.46  Curvature: 191.48

24 NURBS Curve  Approximation Error: 0.075  Curve Length: 3.69  Curvature: 419.32

25 NURBS Curve  Approximation Error: 0.0258  Curve Length: 3.707  Curvature: 2467.4

26 NURBS Surface I  Order: 4,4  Input points: 8,8  Control Points: 8,8  Cost functions: Surface Area Surface Curvature

27 NURBS Surface  Surface Area: 174  Surface Curvature: 4.9e-29

28 NURBS Surface  Surface Area: 155.77  Surface Curvature: 0.099

29 NURBS Surface  Surface Area: 155.16  Surface Curvature: 0.04

30 NURBS Surface  Surface Area: 154.72  Surface Curvature: 0.12

31 NURBS Surface II  Order: 4,4  Input points: 16,16  Control Points: 5,5  Cost functions: Approximation Error Surface Curvature

32 NURBS Surface  Approximation Error: 5.807  Surface Curvature: 3.39

33 NURBS Surface  Approximation Error: 5.19  Surface Curvature: 3.56

34 NURBS Surface  Approximation Error: 2.46  Surface Curvature: 5.23

35 NURBS Surface  Approximation Error: 1.348  Surface Curvature: 9.95

36 NURBS Surface  Approximation Error: 1.256  Surface Curvature: 11.51

37 NURBS Surface  Approximation Error: 0.937  Surface Curvature: 20.84

38 Summary  Decision tool for approximation and design.  Use of Multi Objective Genetic algorithm.  Result is a set of non-dominated solutions.  Implementation supports: NURBS curves and surfaces of arbitrary order.  Optimization variables: Knot vector Parameterization NURBS weights

39 Summary  Support for various design objective:  Curves: Length Curvature Approximation Error L 2 /L inf  Surfaces: Curvature Wilmore surfaces Surface Area Approximation error L 2,L inf

40 Thank You! ronygold@cs.huji.ac.il http://www.cs.huji.ac.il/~ronygold

41 Extra slides

42 Applications  Surface fitting and design has numerous applications mainly in theses areas: Industrial design. Computer graphics. Statistics.

43 Genetic Algorithms in CAD  Genetic algorithms in CAD, G. Renner and A. Ekárt  Data fitting with a spline using a real-coded genetic algorithm, F. Yoshimoto, T. Harada and Y. Yoshimoto  Genetic algorithms in free form curve design, A. Márkus, G. Renner and A.J. Váncza

44 GA - Encoding  Each individual contains 3 chromosomes: One for Parametrization s. One for Knot vector t. One for the NURBS weights w.  Each chromosome is encoded by real valued numbers.  Intervals between two adjacent vector entries are actually stored (for s and t).

45 GA – Initial Population  The initial population was generated randomly while respecting validity constrains: Positive NURBS weights. Monotonically increasing parametrization and knot vector. Sum of all intervals in parametrization and knot vector equals curve’s length.  Population size proportional to #(d.o.f).

46 GA – Fitness Evaluation  Interpolation/approximation must be performed prior to fitness evaluation.  For each individual in the population the fitness is evaluated.  Violation of Schoenberg-Whitney condition is penalized by the fitness evaluation.

47 GA - Crossover  Modified one point crossover used – for each chromosome with the following modification: The sum of all the intervals that make the knot vector and the parametrization must remain fixed.

48 GA - Mutation  The mutation must respect these constrains: All intervals must be positive. Sum of all intervals must remain constant.  The mutation process (identical for all chromosomes): Randomly select 2 intervals: i,j. Randomly select x s.t. x < min(v(i),v(j)). update: v(i) = v(i) + x; v(j) = v(j) – x;

49 GA - Selection  In SOGA selecting two parents is done is done randomly, when the probability of each individual to be a parent is proportional to its fitness.  Tournament, based on the above principle was used.

50 NURBS Curve  Approximation Error: 1.08  Curve Length: 3.328  Curvature: 926.1

51 NURBS Curve  Approximation Error: 0.4  Curve Length: 3.42  Curvature: 206.53

52 NURBS Curve  Approximation Error: 0.004961  Curve Length: 3.61  Curvature: 11,733.6

53 NURBS Curve  Approximation Error: 0.07  Curve Length: 62,101  Curvature: 144.42

54 Previous works  P. Laurent-Gengoux, M. Mekhilef, “Optimization of a NURBS representation”  J. Loos, G. Greiner, H-P Seidel, “Modeling of surfaces with fair reflection line pattern”  G. Brunnet, J. Keifer, “Inerpolation with minimal-energy splines”


Download ppt "Design of Curves and Surfaces by Multi Objective Optimization Rony Goldenthal Michel Bercovier School of Computer Science and Engineering The Hebrew University."

Similar presentations


Ads by Google