The GNU Linear Programming Kit (GLPK) solver is an open-source solver designed to solve linear programming, mixed-integer, and other related problems. It can easily be accessed and used through Python PuLP with the aid of an API.
PuLP uses an API solver from a list of available optimizers to solve a given linear programming problem. We can use the PuLP's listSolvers()
method to view the list of solver APIs it can access:
print(listSolvers())print(listSolvers(onlyAvailable = True))
GLPK_CMD
is on this list. However, this does not mean that GLPK is necessarily available for use.onlyAvailable = True
argument to PuLP's listSolvers()
method. This is the second list in our output. We can see that GLPK_CMD
is on this list as well. This confirms that GLPK is available for use in our environment. Note: If you are attempting to use GLPK with PuLP on your local machine or any other environment, and do not see
GLPK_CMD
in the list returned by thelistSolvers(onlyAvailable = True)
command, try runningpip install glpk
on your shell. You might have to install required dependencies as well.
To use a particular solver in PuLP, the user must specify the solver in the code. PuLP's solve()
method allows users to specify their solver of choice. A solver instance can be loaded using the PuLP getSolver()
method. The code below shows a way to use the GLPK solver using PuLP:
# using "solve()"prob.solve(GLPK(msg = True))print("******************************************")
prob
—an instance of PuLP's LpProblem
class—by passing it as an argument to the solve()
method.Free Resources