TY - JOUR
T1 - Credible autocoding of convex optimization algorithms
AU - Wang, Timothy
AU - Jobredeaux, Romain
AU - Pantel, Marc
AU - Garoche, Pierre Loic
AU - Feron, Eric
AU - Henrion, Didier
N1 - Generated from Scopus record by KAUST IRTS on 2021-02-18
PY - 2016/12/1
Y1 - 2016/12/1
N2 - The efficiency of modern optimization methods, coupled with increasing computational resources, has led to the possibility of real-time optimization algorithms acting in safety-critical roles. There is a considerable body of mathematical proofs on on-line optimization algorithms which can be leveraged to assist in the development and verification of their implementation. In this paper, we demonstrate how theoretical proofs of real-time optimization algorithms can be used to describe functional properties at the level of the code, thereby making it accessible for the formal methods community. The running example used in this paper is a generic semi-definite programming solver. Semi-definite programs can encode a wide variety of optimization problems and can be solved in polynomial time at a given accuracy. We describe a top-down approach that transforms a high-level analysis of the algorithm into useful code annotations. We formulate some general remarks on how such a task can be incorporated into a convex programming autocoder. We then take a first step towards the automatic verification of the optimization program by identifying key issues to be addressed in future work.
AB - The efficiency of modern optimization methods, coupled with increasing computational resources, has led to the possibility of real-time optimization algorithms acting in safety-critical roles. There is a considerable body of mathematical proofs on on-line optimization algorithms which can be leveraged to assist in the development and verification of their implementation. In this paper, we demonstrate how theoretical proofs of real-time optimization algorithms can be used to describe functional properties at the level of the code, thereby making it accessible for the formal methods community. The running example used in this paper is a generic semi-definite programming solver. Semi-definite programs can encode a wide variety of optimization problems and can be solved in polynomial time at a given accuracy. We describe a top-down approach that transforms a high-level analysis of the algorithm into useful code annotations. We formulate some general remarks on how such a task can be incorporated into a convex programming autocoder. We then take a first step towards the automatic verification of the optimization program by identifying key issues to be addressed in future work.
UR - http://link.springer.com/10.1007/s11081-016-9320-7
UR - http://www.scopus.com/inward/record.url?scp=84966355944&partnerID=8YFLogxK
U2 - 10.1007/s11081-016-9320-7
DO - 10.1007/s11081-016-9320-7
M3 - Article
SN - 1573-2924
VL - 17
SP - 781
EP - 812
JO - Optimization and Engineering
JF - Optimization and Engineering
IS - 4
ER -