ontology
ontology copied to clipboard
Restructuring individuals: solver
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:
-
coin-or lp
: COIN-OR LP (CLP) is an open-source linear programming solver written in C++. ... What about: COIN-OR LP (CLP) is a solver that is written in C++ and has an open source license. This a) explicitly names the precise classsolver
and b) shows the relation toopen source
. -
ibm ilog cplex optimiser
: IBM ILOG CPLEX opimiser (CPLES) is a ~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. - Similar changes to the other solvers...
Workflow checklist
- [x] I discussed the issue with someone else than me before working on a solution
- [x] I already read the latest version of the workflow for this repository
- [x] The goal of this ontology is clear to me
I am aware that
- [x] every entry in the ontology should have a definition
- [x] classes should arise from concepts rather than from words
I added a column with the licenses. This is a key parameter for the use in energy system modelling.
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.