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_CMDin the list returned by thelistSolvers(onlyAvailable = True)command, try runningpip install glpkon 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