4.65 GLPK current
stable release

Welcome to the Wikibook about GLPK, the GNU Linear Programming Kit for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. GLPK is free software and licensed under the GNU General Public License 3.

This Wikibook also covers a number of related initiatives (for instance, cross-platform model editors) which have clustered around the mainline GLPK project.

This book was started in June 2010 and is currently under construction. Your participation in the writing and editing of the GLPK wikibook is highly appreciated. If you have any idea as to how this book can be improved, please place your suggestion in the Task List.

You can search this book. You can search the GLPK mailing list archives. You can chat about GLPK at ircs://chat.freenode.net:6697/glpk.

Table of Contents edit

Wikibook Development Stages
Sparse text   Developing text   Maturing text   Developed text   Comprehensive text  
  1. Introduction  
  2. Reviews and benchmarks  
  3. Obtaining GLPK  
  4. Compiling GLPK  
    1. Windows  
    2. Mac OS X  
    3. Linux OS  
    4. Solaris OS  
    5. Cross Compilation  
  5. Precompiled options  
    1. Windows executables  
    2. Mac OS X packages  
    3. Linux packages  
    4. Android app  
  6. GMPL (MathProg)  
    1. Using GLPSOL  
    2. Using GMPL (MathProg)  
    3. Steps of GMPL File Processing  
    4. Modeling logical constraints  
    5. Modeling Lower and Upper Bounds  
    6. Conditional Constraints  
    7. Scripting plus MathProg  
    8. Output to GMPL data file  
    9. ODBC (database) connectivity  
    10. Table Statement  
    11. Graphical Output  
      1. Scalable Vector Graphics  
      2. Gnuplot  
    12. GMPL Workarounds  
  7. GMPL (MathProg) examples  
    1. Knapsack Problem  
    2. Electricity markets  
    3. Energy modeling  
    4. Portfolio Optimization  
    5. Unix Batch Execution
  8. GLPK IDEs  
    1. Cross-platform IDEs  
    2. Windows IDEs  
    3. Mac OS X IDEs  
    4. Linux IDEs  
  9. Terminal output  
  10. Solution information  
  11. Scaling  
  12. Add-ons and extensions  
  13. Language bindings  
    1. Ada  
    2. C/C++  
    3. C#  
    4. F#  
    5. Fortran  
    6. GAMS  
    7. Go  
    8. Haskell  
    9. Java  
    10. JavaScript  
    11. Julia  
    12. Matlab  
    13. Node.js  
    14. Octave  
    15. OCaml  
    16. OptimJ  
    17. Python  
    18. R  
    19. Ruby  
    20. Rust  
    21. Visual Basic for Applications (VBA)  
    22. Visual Basic .NET  
  14. Using the GLPK callable library  
    1. Compiling with the GLPK library  
    2. Error handling  
    3. Callback functions  
    4. API usage for common tasks  
    5. Third-party API wrappers  
    6. IAJAAR.H project  
    7. Application projects utilizing GLPK  
  15. Mixing GLPK with other solver packages  
  16. Modeling tips  
  17. Known issues  
  18. Troubleshooting  
  19. Interoperability  
  20. GLPK file extensions  
  21. Background theory  
  22. Academic sites and public blogs  
  23. Literature  
  24. FAQ (circa 2003)  
  25. License  
  26. Help-GLPK and Bug-GLPK searchable archive  
  27. Sandbox (for content under development)