ontology icon indicating copy to clipboard operation
ontology copied to clipboard

Restructuring individuals: solver

Open Ludee opened this issue 2 years ago • 2 comments

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 class solver and b) shows the relation to open 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

Ludee avatar May 12 '22 10:05 Ludee

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

Ludee avatar May 12 '22 11:05 Ludee

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 avatar May 16 '22 07:05 l-emele