Synthesis of Mathematical programs from Natural Language Specifications
Abstract
Several decision problems that are encountered in various business domains can be modeled as mathematical programs, i.e. optimization problems. The process of conducting such modeling often requires the involvement of experts trained in operations research and advanced algorithms. Surprisingly, despite the significant advances in the methods for program and code synthesis, AutoML, learning to optimize etc., there has been little or no attention paid to automating the task of synthesizing mathematical programs. We imagine a scenario where the specifications for modeling, i.e. the objective and constraints are expressed in an unstructured form in natural language (NL) and the mathematical program has to be synthesized from such an NL specification. In this work we evaluate the efficacy of employing CodeT5 with data augmentation and postprocessing of beams. We utilize GPT3 with back translation for generation of synthetic examples. Further we apply rules of linear programming to score beams and correct beams based on common error patterns. We observe that with these enhancements CodeT5 base gives an execution accuracy of 0.73 which is significantly better than zeroshot execution accuracy of 0.41 by ChatGPT and 0.36 by Codex.
 Publication:

arXiv eprints
 Pub Date:
 March 2023
 DOI:
 10.48550/arXiv.2304.03287
 arXiv:
 arXiv:2304.03287
 Bibcode:
 2023arXiv230403287P
 Keywords:

 Computer Science  Artificial Intelligence;
 Computer Science  Computation and Language;
 Computer Science  Machine Learning
 EPrint:
 Accepted in ICLR 2023 DL4C stream