DC programming and DCA: recent advances and trends (invited Plenary Lecture)
Résumé
DC (Difference of Convex functions) programming and DCA (DC Algorithm) constitute a quite logical and natural extension from modern convex analysis/optimization to nonsmooth nonconvex analysis/optimization, broad enough to include most real-world nonconvex programs but not too wide in order to leverage the powerful arsenal of the former. This field was created in 1985 by Pham Dinh Tao in its preliminary state, then our intensive research has led to decisive developments since 1993, and has now become classic and increasingly popular worldwide. The popularity of DC programming and DCA resides in their richness, pervasiveness and deep mathematical foundations. Added to these are DCA's simplicity, flexibility, efficiency and scalability, its adaptation to specific structures of addressed problems. The construction of DCA depends on both equivalent formulations of a given DC program and DC decompositions of each corresponding formulated DC programs. As a DC function has infinitely many DC decompositions, there are infinitely many DCAs for each formulated DC program. As a result, DCA isn't "one" algorithm but the generic and principled algorithm based on the fundamental DC programming, say – an algorithmic philosophy in a way. This flexibility of DCA implies its universality: with appropriate DC decompositions and suitably equivalent DC reformulations, DCA recovers standard / recent methods in convex and nonconvex programming. For 35 years from their birthday, these theoretical and algorithmic tools have been greatly enriched, thanks to a lot of their applications, by researchers and practitioners in the world, to model and solve nonconvex programs from many fields of applied sciences including Data science, Communication systems, Biology, Finance, Transport Logistic, Supply chain management, etc, and remarkable successes have been reaped.