Summary
The field of combinatorial optimization is concerned with developing generic tools that take a declarative problem description and automatically compute an optimal solution to it. Often, users specify their problem in a high-level, human-understandable formal language. This specification is first translated into a low-level specification a solver understands and subsequently solved. Thanks to tremendous progress in solving technology, we can now solve a wide variety of NP-hard (or worse) problems in practice. Moreover, these tools are increasingly used in real-life applications, including high-value and life-affecting decisions. Therefore, it is of utmost importance that they be completely reliable. The central objective of this proposal is to develop methodologies and tools with which we can guarantee with 100% certainty that the right problem has been solved correctly.
To achieve this ambitious objective, I will build on recent breakthroughs in proof logging, where solvers do not just output an answer, but also a proof (or certificate) of correctness. However, a major limitation of current techniques is that correctness is not proven relative to the human-understandable specification written by the user, but relative to the low-level translation that the solver receives, meaning that there is no guarantee that the solver is solving the original problem. In this project, I will investigate end-to-end guarantees of correctness. When successful, this will have a major impact on the way combinatorial optimization software is developed, evaluated, and used: the proofs produced will enable (1) debugging, since proofs contain detailed information about where bugs occurred, (2) auditability, since proofs can be stored and checked by an independent third party, and even (3) rigorous evaluation of algorithmic improvements (I, for instance, have first-hand experience of winning a solver competition due to a bug that would have been caught easily using proof logging).
To achieve this ambitious objective, I will build on recent breakthroughs in proof logging, where solvers do not just output an answer, but also a proof (or certificate) of correctness. However, a major limitation of current techniques is that correctness is not proven relative to the human-understandable specification written by the user, but relative to the low-level translation that the solver receives, meaning that there is no guarantee that the solver is solving the original problem. In this project, I will investigate end-to-end guarantees of correctness. When successful, this will have a major impact on the way combinatorial optimization software is developed, evaluated, and used: the proofs produced will enable (1) debugging, since proofs contain detailed information about where bugs occurred, (2) auditability, since proofs can be stored and checked by an independent third party, and even (3) rigorous evaluation of algorithmic improvements (I, for instance, have first-hand experience of winning a solver competition due to a bug that would have been caught easily using proof logging).
Unfold all
/
Fold all
More information & hyperlinks
Web resources: | https://cordis.europa.eu/project/id/101122653 |
Start date: | 01-10-2024 |
End date: | 30-09-2029 |
Total budget - Public funding: | 1 999 928,75 Euro - 1 999 928,00 Euro |
Cordis data
Original description
The field of combinatorial optimization is concerned with developing generic tools that take a declarative problem description and automatically compute an optimal solution to it. Often, users specify their problem in a high-level, human-understandable formal language. This specification is first translated into a low-level specification a solver understands and subsequently solved. Thanks to tremendous progress in solving technology, we can now solve a wide variety of NP-hard (or worse) problems in practice. Moreover, these tools are increasingly used in real-life applications, including high-value and life-affecting decisions. Therefore, it is of utmost importance that they be completely reliable. The central objective of this proposal is to develop methodologies and tools with which we can guarantee with 100% certainty that the right problem has been solved correctly.To achieve this ambitious objective, I will build on recent breakthroughs in proof logging, where solvers do not just output an answer, but also a proof (or certificate) of correctness. However, a major limitation of current techniques is that correctness is not proven relative to the human-understandable specification written by the user, but relative to the low-level translation that the solver receives, meaning that there is no guarantee that the solver is solving the original problem. In this project, I will investigate end-to-end guarantees of correctness. When successful, this will have a major impact on the way combinatorial optimization software is developed, evaluated, and used: the proofs produced will enable (1) debugging, since proofs contain detailed information about where bugs occurred, (2) auditability, since proofs can be stored and checked by an independent third party, and even (3) rigorous evaluation of algorithmic improvements (I, for instance, have first-hand experience of winning a solver competition due to a bug that would have been caught easily using proof logging).
Status
SIGNEDCall topic
ERC-2023-COGUpdate Date
12-03-2024
Images
No images available.
Geographical location(s)