In critical systems (e.g. for core airplane functions), codes should both never fail, in particular they should be robust to numerical instabilities, and, they should reuse certified routines.Yet, the combination of this two constraints is often an issue. For example, the interior-point algorithms for linear programming have higher complexity than expected when requiring simultaneously numerical robustness and no custom routines.Instead, this paper presents a new algorithm, which has good time complexity even with a naive implementation.
ForewordThis paper is an extended version of conference paper [5]. The main difference with [5] is that the proof is significantly simplified: there is no need to have a distinct part for each of the two so-called phases of the Newton descent anymore. Also, this paper describes, more precisely than [5], the interest of the new method to deal with critical systems regarding the state-of-the-art methods.
NotationsThis paper takes advantage of standard matrix notation. In particular, if u, v are 2 vectors i.e. u, v ∈ R N u T v is the scalar product of the two vectors, because those vectors are seen like matrices in R N ×1 , thus, u T is a matrix in R 1×N , and thus, the matrix product uAlso, the scalar product of a vector u with itself (i.e. u T u) will be written ||u|| 2 2 in this paper using standard notation for the L 2 norm.