Mixed-Integer Programming for Signal Temporal Logic with Fewer Binary Variables
About
Signal Temporal Logic (STL) provides a convenient way of encoding complex control objectives for robotic and cyber-physical systems. The state-of-the-art in trajectory synthesis for STL is based on Mixed-Integer Convex Programming (MICP). The MICP approach is sound and complete, but has limited scalability due to exponential complexity in the number of binary variables. In this letter, we propose a more efficient MICP encoding for STL. Our new encoding is based on the insight that disjunction can be encoded using a logarithmic number of binary variables and conjunction can be encoded without binary variables. We demonstrate in simulation examples that our proposed approach significantly outperforms the state-of-the-art for long and complex specifications. Open-source software is available at https://stlpy.readthedocs.io.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| STL Motion Planning | Custom-built 2D environment (test) | Planning Time (s)0.45 | 32 | |
| Trajectory Optimization | stlcg | Total Solve Time (s)0.2 | 3 | |
| Trajectory Optimization | puzzle-1 | Overall Solve Time (s)3.02e+3 | 3 | |
| Trajectory Optimization | Rover | Overall Solve Time (s)866.4 | 3 |