Optimization solvers: missing link for fully open-source energy system modeling
drive.google.com
drive.google.com
https://github.com/osqp/osqp_benchmarks
The problem described seems to be an ideal use-case for Machine Learning. The MATPOWER Optimal Scheduling Toolkit (MOST) can already solve:
"a stochastic, security-constrained, combined unit-commitment and multiperiod optimal power flow problem with locational contingency and load-following reserves, ramping costs and constraints, deferrable demands, lossy storage resources and uncertain renewable generation."
Much more and it becomes a global optimization problem where you can never really be sure you are not just stuck in a local optimum. The L2RPN (Learning to Run a Power Network) challenge, from RTE-France, is the most interesting effort I have seen applying Machine Learning to energy system management.
https://github.com/rte-france/l2rpn-baselines
The competition has been renewed for 2022 and has been accepted for the IEEE World Congress on Computational Intelligence in July.
I think part of the reason it’s not more popular is because QPs aren’t the most popular problem type. They’re used in MPC problems and any number of L2-loss function problems like ML problems, but these already have custom methods for solving the QP. Doesn’t meant they can’t adopt a standard high performance solver — I think this is very promising.
Also I’m not sure if there’s any political issues that limits them from listing this on COIN OR. That’s usually most folks go to site for discovering new solvers.
The domain is somewhat unique since our charging points are mobile and stochastic, but charging demand is scheduled in advance
Another pair of projects that I find useful are ECOS [1] and CVXPY [2]. CVXPY makes head-to-head comparisons of solvers (including ECOS and OSQP) trivial.
The "benchmarks" (https://github.com/osqp/osqp_benchmarks) include some important problem classes but are random so, for general QP, are not valid. On the industry standard benchmarks (http://plato.asu.edu/ftp/qpbench.html) OSQP doesn't look so good, and it's not even tested against commercial solvers (http://plato.asu.edu/ftp/cconvex.html).
Our experience with it on general benchmarking problems is that it can struggle to get sufficiently accurate dual values to the extent that it fails to solve them.
For certain classes of important QP problems, and when optimization to small tolerances is not required, it's undoubtedly a great solver - but it's not a general solver.
It's a great need in the scientific community. Gurobi is the leading commercial solution with a strict license and a high price tag. As the proposed open-source project is only focused on linear programming (as opposed to a general nonlinear optimization), the goal may as well be achievable. Best wishes for the authors.
What are concrete technical challenges HiGHS needs to solve to bridge the gap with Gurobi?
(my academic background is in numerical analysis/scientific computing but I didn't specialize in writing optimizers)