OpenEnergyPlatform / ontology

Repository for the Open Energy Ontology (OEO)
Creative Commons Zero v1.0 Universal
106 stars 23 forks source link

Restructuring individuals: solver #1150

Open Ludee opened 2 years ago

Ludee commented 2 years ago

Description of the issue

As described in https://github.com/OpenEnergyPlatform/ontology/issues/859 most of the individuals in the OEO are lacking a definition. In addition the upper classes are evaluated again.

Ideas of solution

Type Individual Updated Definition License
solver coin-or branch and cut (CBC) yes COIN-OR branch and cut (CBC or Cbc) is an open-source mixed integer programming solver written in C++. It can be used as both a stand-alone executable and as a callable library, General Algebraic Modeling System (GAMS), MPL, AIMMS, PuLP, CMPL, OpenSolver for Excel, JuMP, or MiniZinc). EPL-2.0
solver coin-or lp (CLP) added COIN-OR LP (CLP) is an open-source linear programming solver written in C++. It is published under the Common Public License so it can be used in proprietary software with none of the restrictions of the GNU General Public License. CLP is primarily meant to be used as a callable library, although a stand-alone executable version can be built. EPL-2.0
solver ibm ilog cplex optimizer (CPLEX) yes Popular solver with an API for several programming languages, and also has a modelling language and works with AIMMS, AMPL, GAMS, MPL, OpenOpt, OPL Development Studio, and TOMLAB. Free for academic use. Proprietary
solver gnu linear programming kit (GLPK) yes GNU Linear Programming Kit (GLPK), an LP/MILP solver with a native C API and numerous third-party wrappers for other languages. Specialist support for flow networks. Bundles the AMPL-like GNU MathProg modelling language and translator. GPL-3.0-or-later
solver gurobi yes Gurobi is a solver to solve numerical programming tasks. Supported are linear programming (LP), quadratic programming (QP), quadratic constrained programming (QCP), mixed integer linear programming (MILP)[3], mixed integer quadratic programming (MIQP), and mixed integer quadratic constrained programming (MIQCP). Proprietary
solver mosek yes MOSEK is a software package for the solution of linear, mixed-integer linear, quadratic, mixed-integer quadratic, quadratically constraint, conic and convex nonlinear mathematical optimization problems. The applicability of the solver varies widely and is commonly used for solving problems in areas such as engineering, finance and computer science. A solver for large scale optimization with API for several languages (C++,java,.net, Matlab and python). Proprietary
solver pips-ipmpp added PIPS-IPM++ (PIPS-IPMpp) is a (MPI + OpenMP) parallel interior-point method for doubly bordered block diagonal Linear Programs. There exist two general purpose interfaces to PIPS-IPM++, one via GAMS (thus a GAMS license is required) and one established with the METIS-project (on branch PyomoToPIPS). LGPL-3.0
solver highs added HiGHS is an open source serial and parallel solvers for large-scale sparse linear programming (LP), mixed-integer programming (MIP), and quadratic programming (QP) models. MIT

l-emele commented yesterday: Regarding the solvers: I like the definition of gurobi: Gurobi is a solver to solve numerical programming tasks. ... Others need some refinement:

Workflow checklist

I am aware that

Ludee commented 2 years ago

I added a column with the licenses. This is a key parameter for the use in energy system modelling.

l-emele commented 2 years ago

Okay, the licenses will then be included with 'has license' some 'software license'. If we want to have the exact licenses, we need something like 'has license' value 'EPL-2.0' or something like that. However, we have not yet included/imported license individuals. In #31 we discussed about importing the SPDX ontology.

l-emele commented 1 week ago

I wonder whether it makes sense at all to have specific solver individuals in the OEO at all. And even if we have them in the OEO I wonder whether the OEO is the right place to catch these details like the specific licences. Maybe it is better to store such information in the OEKG or to have solver fact sheets on the OEP or something like that.

Anyway, I'll move this issue to a future milestone.