ERGO-Code / HiGHS

Linear optimization software
MIT License
956 stars 176 forks source link

What do "Ekk" and "Nla" stand for? #1045

Closed mgreenbe closed 1 year ago

mgreenbe commented 1 year ago

I'm trying to navigate the codebase (specifically, the simplex method implementation) and encountering the acronyms "Ekk" and "Nla" all over the place. What do these mean?

(I know this issue is kind of lame and not of consequence for users of the library, but this little piece of context would really help me out! Thanks!)

jajhall commented 1 year ago

EKK was used when refactoring the simplex solver to make clear what was the new code. It derives from IBM's optimization software OSL that was written in FORTRAN, so subroutine names need to be unique globally when linking. They found that EKK was a sequence of 3 letters that would be used with very low probability, so it was used as the prefix for all the OSL subroutines.

Nla/NLA means "Numerical Linear Algebra"