acados
pyomo
acados | pyomo | |
---|---|---|
5 | 14 | |
901 | 2,099 | |
3.6% | 1.4% | |
9.6 | 10.0 | |
2 days ago | 10 days ago | |
C | Python | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
acados
-
How to understand Model Predictive Control
I would check out CasADi (specifically the opti framework) and or ACADOS. To code up a quick MPC in general is not hard, but to squeeze efficiency and exploit sparsity for good real-time performance is a little more involved and these tools really help with that.
-
Question about Model Predictive Control (MPC) cost function
Generally, nonlinear MPC uses either IPOPT (an interior point method) or sequential quadtraic programming based approaches (google GURBOI, qpoases, qrqp...). A good python framework is CasADi, or its sister project ACADOS. I think there is also a fair amount of literature on learning MPC cost functions from data you could probably find.
-
Show HN: prometeo – a Python-to-C transpiler for high-performance computing
Thanks for the question! My background is in numerical optimization for optimal control. Projects like this https://github.com/acados/acados motivated the development of prometeo. It's mostly about solving optimization problems as fast as possible to make optimal decisions in real-time.
-
Do you know a good free toolbox on mpc control for GNU Octave?
Look at Acados. I didn't use it with Octave, but according the readme it has a interface with Octave.
pyomo
-
pyomo VS timefold-solver - a user suggested alternative
2 projects | 4 Jan 2024
-
[P] Advice needed for what tool/algorithm is appropriate
Pyomo: We tried pyomo still using the same matrix representation as above (5-minutes timeslot interval), but still encountered the same difficulty of expressing program durations as constraint. I seem to not able to make a condition inside the constraint declaration such that if this matrix entry is 1, then do this operation.
-
pyomo VS casadi - a user suggested alternative
2 projects | 5 Sep 2023
-
Elevate Your Python Skills: Machine Learning Packages That Transformed My Journey as ML Engineer
Alternative: pyomo
-
Are there any mathematical optimizations modeling libraries made for Common Lisp?
I’m looking for something similar to Pyomo for Python. Something that connects on the backend to something like GLPK, CBC, IPOPT. Using Google, I’ve only been able to find a few linear programming libraries. If anyone could point me the right direction, it would be greatly appreciated!
- What software is used in the field these days?
-
Operations research packages
Pyomo, it even has its own book. Additionally, CVXOPT focuses on convex optimization, PuLP on linear programming (it has lots of interfaces for other solvers).
-
flopt: powerful optimization modeling tool
There are some optimization modeling tools, Pulp andScipy are known for linear programming (LP) modeling, CVXOPT and Pyomo for quadratic programming (QP).
-
[Request] As a little side project, I want to map out the most efficient path to take when mowing my lawn. How might I go about doing this?
To rephrase this in math terms, you're looking for the least expensive possible path that covers every node in your yard. As for tools, if you don't mind programming in python, maybe try this: http://www.pyomo.org/.
-
Integer vs. Linear Programming in Python
For modelling libraries in general-purpose languages, Gurobi's python bindings have the best reputation. But of course Gurobi is very expensive (I have heard about $50k for a fully unrestricted license, plus $10k yearly for support). On the open-source side, besides Google's OR-Tools, there is Pyomo [1] and PuLP [2] in Python (as the article mentions). In Julia, there is JuMP [3], whose development community is extremely enthusiastic.
Traditionally, however, mathematical models were encoded in domain-specific languages. The most prominent one is AMPL [4] which is proprietary. The glpk [5] people have developed a very neat open source clone of AMPL: the GNU MathProg language. For a more modern take on AMPL-type modelling DSLs, look at ZIMPL [6], which is open source as well.
[1] http://www.pyomo.org/
[2] https://coin-or.github.io/pulp/
[3] https://jump.dev/JuMP.jl/stable/
[4] https://ampl.com
[5] https://www.gnu.org/software/glpk/
[6] https://zimpl.zib.de/
What are some alternatives?
Metatheory.jl - Makes Julia reason with equations. General purpose metaprogramming, symbolic computation and algebraic equational reasoning library for the Julia programming language: E-Graphs & equality saturation, term rewriting and more.
or-tools - Google's Operations Research tools:
Octavian.jl - Multi-threaded BLAS-like library that provides pure Julia matrix multiplication
pulp - A python Linear Programming API
StaticCompiler.jl - Compiles Julia code to a standalone library (experimental)
PySCIPOpt - Python interface for the SCIP Optimization Suite
llvm-cbe - resurrected LLVM "C Backend", with improvements
do-mpc - Model predictive control python toolbox
prometeo - An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing
Bonmin - Basic Open-source Nonlinear Mixed INteger programming
hpipm - High-performance interior-point-method QP and QCQP solvers
Timefold Solver - The open source Solver AI for Java, Python and Kotlin to optimize scheduling and routing. Solve the vehicle routing problem, employee rostering, task assignment, maintenance scheduling and other planning problems.