Elsevier

Computer-Aided Design

Volume 114, September 2019, Pages 73-81
Computer-Aided Design

DE-Path: A Differential-Evolution-Based Method for Computing Energy-Minimizing Paths on Surfaces,☆☆

https://doi.org/10.1016/j.cad.2019.05.025Get rights and content

Highlights

  • We presented a method to solve a general shortest path problem on 2-manifold meshes.

  • We proposed a map from discrete paths to density distributions on 2-manifold.

  • We presented an application which is finding a path on a terrain with constant slope.

Abstract

Computing energy-minimizing paths that are general for different energy forms is a common task in science and engineering. Conventional methods adopt numerical solvers, such as conjugate gradient or quasi-Newton. While these are efficient, the results are highly sensitive with respect to the initial paths. In this paper we develop a method based on differential evolution (DE) for computing optimal solutions. We propose a simple strategy to encode paths and define path operations, such as addition and scalar multiplication, so that the discrete paths can fit into the DE framework. We demonstrate the effectiveness of our method on three applications: (1) computing discrete geodesic paths on surfaces with non-uniform density function; (2) finding a smooth path that follows a given vector field as much as possible; and (3) finding a curve on a terrain with (near-) constant slope.

Introduction

Computing optimal paths is a common task in many fields of science and engineering [1]. For example, in robotics one needs to compute optimal trajectories [2], and in computational biophysics and biochemistry one needs to find molecular transition paths [3]. A typical way for solving these problems is to formulate an energy functional for the paths and then adopt numerical solvers, such as conjugate gradient or quasi-Newton, to minimize it. By taking advantage of the analytical gradients, these numerical solvers are efficient and converge quickly. However, if the energy function is not convex, the solution is only locally optimal and its quality is highly sensitive to the initialization.

To overcome the limitations of existing methods, this paper develops a new method for computing energy-minimizing paths on surfaces that are general to work with different energy forms. Our main idea is to adopt differential evolution (DE), a popular evolutionary computation method that optimizes a problem by iteratively trying to improve a candidate solution [4], [5]. To fit into the DE framework, we propose a simple strategy to encode paths by a density distribution and define path operations, such as addition and scalar multiplication. Our method, called DE-Path, maintains a population of agents from random samples of the search space and creates new candidate solutions by combining existing ones according to a simple DE formula. It then keeps the candidate solution with the least energy.

Evaluation on a toy model confirms that with increasing resolution of the discretized domain, DE-path tends to find the globally optimal solution. We demonstrate the effectiveness of our method for three interesting applications: (1) computing discrete geodesic paths on surfaces with non-uniform density function; (2) finding a smooth path that follows a given vector field as much as possible; and (3) finding a curve on a terrain with (near-) constant slope. We also discuss the potential extension of our method for 3D volumes.

In computer graphics, a well-known optimal path problem is that of computing locally shortest paths. Computing these geodesics on surfaces has been studied extensively in the last three decades. Popular methods are the wavefront propagation methods [6], [7], the PDE method [8], and the graph-based method [9]. Most of these methods focus on computing geodesic distances. To compute geodesic paths, one needs to back-trace the gradient of the distance field. Liu et al. [10] formulated the geodesic path problem in an optimization framework that supports arbitrary density function, anisotropic metric as well as user-specified constraints. They adopted the quasi-Newton method to solve the optimization problem. Due to the local nature of the solver, their method computes only a locally optimal solution.

Weighted shortest paths on polyhedral surfaces have also been considered in computational geometry [11], [12]. A weighted shortest path is a path with a minimum cost among all possible paths on the polyhedral surface and the cost is defined to be the sum of all line segments in the path multiplied by the weights of corresponding faces. A state-of-the-art method [13] can compute an ϵ-approximation of the weighted shortest path – whose distance is not larger than the weighted shortest distance multiplied by (1+ϵ) – from a fixed point to any other query point in logarithmic time O(max(log2(1ϵ)ϵ,q)), where ϵ(0,1) and q are the user-specified approximation parameter and query time parameter, respectively.

Another closely related work is energy-minimizing splines [14], in which Hofer and Pottmann proposed an extrinsic definition of spline curves that uses the embedding space and confines the curves to surfaces using nonlinear side condition. This method works for a wide range of surface domains, including parametric surfaces, level sets, triangle meshes, and point samples of surfaces. However, since it adopts a local method to solve the variational problem, the results are often locally optimal.

Section snippets

Differential evolution

Evolutionary computation is a family of metaheuristics for global optimization inspired by biological evolution. A metaheuristic is a high-level heuristic designed to find, generate, or select a heuristic that may provide a sufficiently good solution for an optimization problem [15]. Popular metaheuristics are simulated annealing [16], genetic programming [17] and differential evolution [4]. All these methods are used for multidimensional real-valued functions without the need of using the

DE-Path

Given a 2-manifold M and two points s and t on M, there exist many paths between s and t on M. Denote by Ps,t the space of all paths from s to t on M. Given an arbitrary energy function ε:Ps,tRwhich measures a quantity of the paths, the problem is to find a path with minimal energy, that is, minpPs,tε(p)To numerically solve the problem, we represent the 2-manifold as a mesh and the path as a polyline. The mesh is represented by M=(V,E,F), where V, E, and F are the sets of vertices, edges, and

Applications

This section demonstrates DE-Path on three applications: computing geodesic paths on triangle meshes with non-uniform density function, finding a smooth path that follows a given vector field as much as possible, and computing a curve on a terrain with constant slope.

Results & discussions

We implemented our method in C++ and tested it on a PC with an Intel Xeon E5-2620 CPU (2.00 GHz) and 32 GB RAM. By adopting a DE framework, our method can effectively jump out local minimums and achieve a stochastic global solution. To demonstrate this nice property, we compare our method with a local optimization method, i.e., a gradient descent method, in the same environment. The running time for all results of our method is listed in Table 1, which also reports the number of vertices, the

Conclusion & future work

We presented a simple yet effective method to solve a general minimal-energy-path problem on 2-manifold meshes M, in which the energy can be in any user-specific form. By proposing a novel mapping from discrete paths to density distributions on M, we successfully introduce the powerful differential evolution strategy into our solution, which can effectively jump out the local minimums and achieve a good result. Experimental results and two novel applications demonstrate the merits of the

Acknowledgments

This work is supported by the National Science Foundation of China (61725204, U1736220), the Royal Society-Newton Advanced Fellowship, China (NA150431) and Singapore Ministry of Education Grant (MoE 2017-T2-1-076 & RG26/17).

References (28)

  • KimmelR. et al.

    Computing geodesic paths on manifolds

    Proc Natl Acad Sci USA

    (1998)
  • YingX. et al.

    Saddle vertex graph (SVG): A novel solution to the discrete geodesic problem

    ACM Trans Graph

    (2013)
  • Lanthier M, Maheshwari A, Sack J-R. Approximating weighted shortest paths on polyhedral surfaces. In: Proceedings of...
  • AleksandrovL. et al.

    Determining approximate shortest paths on weighted polyhedral surfaces

    J ACM

    (2005)
  • Cited by (0)

    This paper has been recommended for acceptance by Pierre Alliez, Yong-Jin Liu & Xin Li.

    ☆☆

    No author associated with this paper has disclosed any potential or pertinent conflicts which may be perceived to have impending conflict with this work. For full disclosure statements refer to https://doi.org/10.1016/j.cad.2019.05.025.

    View full text