We propose two algorithms for elliptic boundary value problems in shape optimization. With the finite element method, the optimization problem is replaced by a discrete variational problem. We give rules and use them to decide which elements are to be reserved. Those rules are determined by the optimization; as a result, we get the optimal design in shape. Numerical examples are provided to show the effectiveness of our algorithms.
1. Introduction
With numerous applications in structural engineering and fluid mechanics, shape optimization has received much more attention in recent years [1–5]. Typical problems are to find optimal shapes that minimize or maximize some design objectives with certain PDE and geometry constraints. The essential difficulty for such problems is that the optimal shape or topology is unknown a priori. Many different numerical methods are used to solve this type of problems. The classical method of shape sensitivity analysis has been studied in [6, 7]. One drawback of this method is its computational effort due to remeshing.
The most recent topology approach is the homogenization method [8]. A relaxed formulation of the original shape optimization problem should be introduced. Then, penalization techniques are needed to remove composite designs in the final shape. The method is very promising in that it is nearly independent on the initial guess for design. Moreover, it has a rigorous mathematical result of the existence of the solution. However, this method can be applied to limited areas and particular objective functions.
Level set methods are popular for solving shape optimization problems (see [5, 9–13]). Level set method first proposed by Osher and Sethian [14] is a versatile tool when dealing with problems requiring tracing interfaces separating a domain into subregions. For details of the method and its wide applications, we refer to the monograph [15] and the survey [16]. Level set methods can easily handle certain types of shape and topological changes, such as merging, splitting, and developing sharp corners, which can be done by the evolution of the level set function. Therefore, level set methods can naturally be applied to solve shape and topology optimization problems. Its cost is moderate since the shape is captured on a fixed Eulerian mesh. However, by its nature, the obtained level set function decreases the number of connected components of resulting geometrical domains during the optimization process. Besides, the convergence to the optimal geometrical domain is slow due to the necessary reinitialization process.
In this paper, we propose a novel method for a class of linear elliptic problems in shape optimization. The main difference from other methods is that we perform optimization in each element, which means that we deal with this problem in a discrete formula. First, let us introduce the model problem. Let U be a bounded domain of R2 with a boundary ∂U=ΓD. Let V also be a subset of R2 and satisfy V⊂⊂U. For any open set ω⊂R2, we denote by #ω¯ the number of connected components of ω¯ and we consider the set of admissible domains: (1)Ok=Ω=U∖ω¯;ω⊂V,#ω¯<k.For any Ω∈Ok, k⩾1, the boundary of Ω can be denoted by ∂Ω=ΓD∪ΓN with ΓN=∂ω. The boundary ΓN receives Neumann boundary conditions, while we have Dirichlet conditions on ΓD. We illustrate the details in Figure 1.
An admissible domain Ω.
Now, let us consider the following elliptic boundary value problem:(2)-Δu+u=finΩ,u=0onΓD,∂u∂n=0inΓN,where f∈C∞(U¯) and n is the unit outwards normal vector to ∂Ω. Our goal is to optimize the shape of domain Ω which maximizes a given cost functional depending on the domain and the solution u. Here, we consider the energy functional: (3)EΩ,u≔12∫Ω∇u2+u2dx-∫Ωfudx=-12∫Ω∇u2+u2dx=-12∫Ωfudx,and let us introduce the regularized shape functional: (4)JΩ,u≔EΩ,u+λAΩ,with A(Ω) defined by A(Ω)≔|Ω|, which is the Lebesgue measure of Ω in R2. Constant λ are positive and allow us to take into account the area. Then, for any fixed integer k⩾1, the shape optimization problem is the following:(5)maxJΩ:Ω∈Ok.
Since the exterior boundary of Ω is fixed once for all and equals ∂U, the domains Ω satisfying (5) are actually determined by their moving boundaries ΓN.
Our algorithm comes from greedy algorithm. A greedy algorithm might also be called a “single-minded” algorithm or an algorithm that gobbles up all of its favorites first. It may not completely solve the problem or if it produces a solution, it may not be the very best one, but it is one way of approaching the problem and sometimes yields very good results. It is well known that greedy algorithms are usually used in discrete mathematics, for example, the salesman problem, graph coloring problem, and other NP-complete problems [17]. And a few papers have reported that the greedy algorithms can also work well for combinatorial optimization problems [18, 19]. In this paper, we propose numerical algorithms based on the greedy algorithm. In one step of our algorithm, we compute the shape functional in each element to find some elements according to the given rules. Then, we throw those elements away (they may come back at some next step). The sum of remain elements is just the domain Ω that is the approximation of our problem.
We will propose two types of algorithms in the next section and present some numerical results in Section 3.
2. Algorithms
In [20], the authors proved that there exists a domain Ω satisfying problem (5). They obtain this result when they apply the results from [21, 22] to this problem with a few changes. Here, the results are listed and the details can be found in [20].
Theorem 1.
Let Ωi=U∖ω¯i be a sequence of open sets such that the number of connected components of ω¯i is uniformly bounded. If ω¯i converges in the sense of the Hausdorff metric to ω¯, then the solution ui of the Neumann problem(6)-Δui+ui=f,inΩi,ui=0on∂U,∂nui=0,on∂ωiconverges to the solution u of problem (6) on Ω if and only if |Ωi|→|Ω|.
Theorem 2.
For any k⩾0, problem (5) admits at least one solution Ω∈Ok.
For the sake of convenience, we choose U=(0,1)×(0,1). Let Th be a partition of the domain U into rectangular elements of mesh size h. Then, we define the bilinear finite element space Vh by (7)Vh=∀v∈H01U:vk∈Q1k,∀k∈Th.We take Vh as finite element space of problem (2); then, we can get the following variational formulation: find uh∈Vh such that(8)∫Ω∇uh·∇vh+uhvhdx=∫Ωfvhdx,∀vh∈Vh.If we change domain Ω into element k, there is no such type of equation set up since the function does not vanish on boundary of each element. In the element K, we obtain a measurement:(9)JK=-12∫KfuKdx+λK.Now, we use the greedy strategy: we drop the element K, in which J(K)=minKJ(K). Accordingly, we can rewrite the shape functional as the sum of each element; namely, (10)JΩ≔-12∫Ωfudx+λAΩ=∑k-12∫kfukdx+λK,where |K| is the area of the element K. In our quadrilateral mesh case, |K|=h2. In this way, we can propose an iterative algorithm; in each step, we seek and throw away the element whose value of shape functional is the minimum. Since each time we throw away only one element, which is very small compared to the whole domain, this algorithm can increase the shape functional in general. We list the algorithm as in Algorithm 1.
Algorithm 1:
(1) i = 0.
(2) Compute the solution ui of (8) with domain Ωi=U∖ωi, SJ=0.
For k = 1 : Nelement
Find no marked elements, and compute their shape functional
Ji(K)=-(1/2)∫Kfuidx+λ|K|, and the sum of shape functional
SJ=SJ+Ji(K);
end
Find the minimum of Ji(K) and mark the element.
(3) i = i + 1, Go to Step 2.
Here, “i” and “SJ” denote the iteration of the algorithm and the value of shape functional on domain Ωi, respectively. We denote by “Nelement” the number of finite elements of domain U. “ωi” represents the sum of elements that are thrown away in the preceding i iterations. When i=0, we solve (8) with the domain U, because we have no marked elements at first. And this is our initial case. From results of the numerical examples (in Section 3), we can see that Algorithm 1 can obtain an optimal domain. Because we throw away one element in each iteration, the convergence is very slow. And the number of iterations gets growth when the mesh size h is refined. What is more, it is difficult to get the conditions for stopping the iterations. Therefore, we make some changes in Algorithm 1. At each iteration, we throw away several elements to accelerate convergence. But the optimal number of elements that should be thrown away is not known a priori. Sometimes we may throw away some elements which should be left. Therefore, we should design a process to get such elements back. That is our algorithm (Algorithm 2).
Algorithm 2:
(1) i = 0.
(2) Compute the solution ui of (8) with domain Ωi=U∖ωi, SJ=0.
For k = 1 : Nelement
Compute JK=-(1/2)∫Kfuidx;
Find no marked elements and compute their sum of shape functional
SJ=SJ+JK+λ|K|;
if JK<-λ|K|θ
Yes: mark;
No: remove the mark.
end
end
(3) i = i + 1, Go to Step 2.
The parameter θ controls how much elements will be thrown away in each step. The optimum of θ is different for different problems. According to this algorithm, in each step, we discard not only one element but a batch of elements in general. Furthermore, the elements which are thrown away maybe come back in some next step. In Figure 2, there are three elements and k1 is the element and we keep it to Ωi; the other two elements are thrown away. In the next step, after solving the equation u1, u2 will be changed and therefore the value of shape functional in element k2 is changed. Thus, if this value does not satisfy the rule that we set up should be back. This procedure is necessary for our algorithm.
Three elements.
Both of Algorithms 1 and 2 are simple and easy for coding. In the next section, we will see Algorithm 2 enjoys fast convergence for shape optimization problems.
3. Numerical Examples
In this section, we present some numerical tests for our algorithms. As mentioned above, we choose U=(0,1)×(0,1) and use bilinear finite element space Vh as our space. We start with the entire domain U in all examples. In order to make numerical comparisons, we use numerical examples in [20]. The data of the first example are (11)f=10sin24πx,for x,y∈U=0,1×0,1,λ=0.5.
First, we apply Algorithm 1 to this example and let h=1/64. We denote by Ω1 with green the optimal domain obtained in this example. The value of shape functional J in Ω1 is J(Ω1)=0.274468. The results are shown in Figure 3. We find that Algorithm 1 requires many iterations and converges very slowly. Besides, there are some oscillations in iterative process. These two flaws are unfavorable for a good algorithm. In the following, let us see the effects of Algorithm 2. Note that Algorithm 2 involves choice of a parameter θ. Considering the little dependence on h, we choose some θ for a relatively large h and adjust it for a small h. Numerical results are shown in Figure 4.
Shape optimization with the data f=10sin24πx, λ=0.5 using Algorithm 1. Optimal value: J(Ω)=2.7446853.
Shape optimization with the data f=10sin2(4πx), λ=0.5, θ=0.7 using Algorithm 2. Optimal value: J(Ω)=0.278974.
In [20], in order to make comparisons with the level set method with topological derivatives, conventional level set method was used to solve the model problem. In that case, the Hamilton-Jacobi equation is solved on a 101×101 grid. At last, the level set method converges to a local maximum J(Ω)=0.2640695. The value J(Ω2)=0.278974 obtained by using Algorithm 2 is better than J(Ω)=0.2640695. Our method is simple and enjoys fast convergence, although the final functional value 0.282319 by the level set method with topological derivatives is a little better than ours.
The second example tests the choice of λ with f(x,y)=10x+y. Thus, we get two groups of figures, Figures 5 and 6. When λ is large, from Figure 6, we see the oscillation exists. This phenomenon is caused by the increase of parameters, which also appears in [20]. Our visible result is similar as that in [20].
Shape optimization with the data f=10x+y, λ=1, θ=0.64 using Algorithm 2. Optimal value: J(Ω)=0.597596.
Shape optimization with the data f=10x+y, λ=1.7, θ=0.55 using Algorithm 2. Optimal value: J(Ω)=1.189091.
4. Conclusion
Based on the greedy idea, we have presented two interesting and promising algorithms for solving the linear elliptic problems in shape optimization. Our algorithms are simple but effective for the model problem. Algorithm 2 is especially efficient compared with the level set method. We will try to apply our method to other shape and topology problems involving geometry and topology in the future.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgment
Dai Xiaoxia’s research was partially supported by the Natural Science Foundation of Zhejiang Province of China under Grants LQ12A01012 and LQ13A010006.
BendsøeM. P.SigmundO.2003Berlin, GermanySpringerMR2008524DengY. B.LiuZ. Y.WuJ. F.WuY. H.Topology optimization of steady Navier-Stokes flow with body force201325530632110.1016/j.cma.2012.11.015MR30290412-s2.0-84872467309MyślińskiA.Piecewise constant level set method for topology optimization of unilateral contact problems201580253210.1016/j.advengsoft.2014.09.020WangY. Q.LuoZ.KangZ.ZhangN.A multi-material level set-based topology and shape optimization method20152831570158610.1016/j.cma.2014.11.002MR32838222-s2.0-84922309468ZhuB. L.ZhangX. M.FatikowS.Structural topology and shape optimization using a level set method with distance-suppression scheme20152831214123910.1016/j.cma.2014.08.017MR32838072-s2.0-84922324362PironneauO.1984Berlin, GermanySpringer10.1007/978-3-642-87722-3MR725856SokolowskiJ.ZolesioJ.-P.1992Heidelberg, GermanySpringer10.1007/978-3-642-58106-9MR1215733AllaireG.2001New York, NY, USASpringerAllaireG.JouveF.ToaderA.-M.Structural optimization using sensitivity analysis and a level-set method2004194136339310.1016/j.jcp.2003.09.032MR20333902-s2.0-0842290715DaiX. X.TangP. P.ChengX. L.WuM. H.A variational binary level set method for structural topology optimization20131351292130810.4208/cicp.160911.110512aMR29888902-s2.0-84872113102LeeE.MartinsJ. R. R. A.Structural topology optimization with design-dependent pressure loads2012233/236404810.1016/j.cma.2012.04.007MR29240192-s2.0-84860673216XiaQ.WangM. Y.ShiT.Topology optimization with pressure load through a level set method201528317719510.1016/j.cma.2014.09.022MR32837642-s2.0-84907979393XiaQ.WangM. Y.ShiT.A level set method for shape and topology optimization of both structure and support of continuum structures201427234035310.1016/j.cma.2014.01.014MR31712872-s2.0-84893948092OsherS.SethianJ. A.Fronts propagating with curvature-dependent speed: algorithms based on Hamilton-Jacobi formulations1988791124910.1016/0021-9991(88)90002-2MR9658602-s2.0-44749084234OsherS.FedkiwR.2003153New York, NY, USASpringerApplied Mathematical Sciences10.1007/b98879MR1939127OsherS.FedkiwR. P.Level set methods: an overview and some recent results2001169246350210.1006/jcph.2000.6636MR1836523ZBL0988.650932-s2.0-0000653947JanczewskiR.Greedy T-colorings of graphs200930961685169010.1016/j.disc.2008.01.049MR25105752-s2.0-62149116917ShenmaierV. V.A greedy algorithm for maximizing a linear objective function20041351–326727910.1016/s0166-218x(02)00311-6MR20469942-s2.0-0242691747ZhangZ.-F.LiangK.-W.ChengX.-L.Greedy algorithms for eigenvalue optimization problems in shape design of two-density inhomogeneous materials201188118319510.1080/00207160.2010.534139MR27546862-s2.0-78650563357FulmanskiP.LaurainA.ScheidJ.-F.SokolowshiJ.Level set method with topological derivatives in shape optimization200885101491151410.1080/00207160802033350MR24596562-s2.0-49549101797BucurD.VarchonN.Boundary variation for a Neumann problem2000429807821BucurD.VarchonN.A duality approach for the boundary variation of Neumann problems200234246047710.1137/s0036141002389579MR19517832-s2.0-0037244837