OptiMUS: Scalable Optimization Modeling with (MI)LP Solvers and Large Language Models
Ali AhmadiTeshnizi, Wenzhi Gao, Madeleine Udell

TL;DR
OptiMUS leverages large language models to automatically formulate, solve, and improve optimization problems from natural language, significantly outperforming existing methods especially on complex datasets.
Contribution
This paper introduces OptiMUS, a novel LLM-based system that automates the modeling and solving of (MI)LP problems from natural language descriptions, enhancing scalability and performance.
Findings
Outperforms state-of-the-art methods by over 20% on easy datasets.
Achieves over 30% improvement on complex datasets, including a new dataset NLP4LP.
Demonstrates effective handling of long and complex problem descriptions.
Abstract
Optimization problems are pervasive in sectors from manufacturing and distribution to healthcare. However, most such problems are still solved heuristically by hand rather than optimally by state-of-the-art solvers because the expertise required to formulate and solve these problems limits the widespread adoption of optimization tools and techniques. This paper introduces OptiMUS, a Large Language Model (LLM)-based agent designed to formulate and solve (mixed integer) linear programming problems from their natural language descriptions. OptiMUS can develop mathematical models, write and debug solver code, evaluate the generated solutions, and improve its model and code based on these evaluations. OptiMUS utilizes a modular structure to process problems, allowing it to handle problems with long descriptions and complex data without long prompts. Experiments demonstrate that OptiMUS…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTopic Modeling · Model-Driven Software Engineering Techniques · Parallel Computing and Optimization Techniques
