8000 GitHub - staadecker/pyomo_fpga_bridge: Generates presolved LP tableaus directly from large Pyomo models for use on FPGAs
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

staadecker/pyomo_fpga_bridge

Folders and files

NameName
Last commit message
L 9774 ast commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Pyomo to FPGA with custom presolve

This tool was part of a larger project for a university course. In this repo lies a solver plugin for Pyomo that converts a Pyomo linear programing model into a bytestream that can be sent over ethernet to an FPGA. The bytestream is the serialized representation of a linear programming tableau, in standard form. The tableau is generated using a custom presolve algorithm.

The tool was tested using this SWITCH model. Tests show that the generated tableau, when solved with Gurobi, produce the same results as running SWITCH with Gurobi directly. This confirms, that our tableau generation process works as intended.

Performant presolve

The presolve includes multiple transforms that have successfully reduced large models by ~10x in size. Compared to Gurobi, the presolve efficiency was similar (better in some cases!).

License

The code in this repository builds on my code from the lp-analyzer project and the Pyomo library. Copyright belongs to those respective libraries when applicable while new code is under the MIT license.

About

Generates presolved LP tableaus directly from large Pyomo models for use on FPGAs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0