This is the Clp project. For information on the purpose of this project please visit https://github.com/coin-or/Clp The information below should be migrated into README.md or the User's Guide. Running clp gives you some hints. It can do a unit test (clp -unitTest) and solve netlib problems (-netlib or -netlibp using primal). It can also solve problems and set tolerances etc. Just do clp and then try ? or setting various stuff. clp filename reads file, does presolve and dual algorithm clp filename -primalsimplex would use primal instead On Linux clp can do file completion and line editing if it can find history, readline and termcap.. If you want to stress the code you can set various stuff e.g. dantzig pricing and then go into netlib testing. I do not guarantee that it will solve all netlib if you get too creative. For instance using presolve makes netlib solve faster - but pilot87 prefers a large infeasibility weight. So clp -presolve on -dualbound 1.0e10 -netlib works well. There are samples in ./Samples. To create an executable - testit do make DRIVER=minimum to use minimum.cpp or whichever driver you want. A list is in Makefile. Three useful samples are: minimum.cpp This is the simplest possible program to read an mps file. defaults.cpp. This does not do much more, but it does it in much more complicated way by specifically setting defaults so it does give more useful information. It also prints a solution in a format "similar" to that of MPSX. presolve.cpp. This is a good driver for larger problems. Other ones can get complicated so start simple and work your way up.