A very rough linear solver for soylent.
It reads json from diy.soylent.me on stdin and outputs a couple ascii tables and some other info on stdout.
It first attempts to find the cheapest recipe using the provided ingredients that fits the provided profile. If this fails because it is not possible to balance the recipe using the provided ingredients & profile, then it will find the least unbalanced recipe, using a "deviation" calculation similar to the one used by 2potatoes' genetic soylent solver
Requires lpsolve and Python. Unfortunately, if you don't want to compile the lpsolve Python support yourself, you'll need Python 2.6, even though it's outdated. You'll also need to install the lpsolve library separately; on Windows, this means manually dropping the dll into C:\Windows\system32.
lpsolve is here. The compiled Python support is in the archives with "Python2.6_exe" in their names. The library is in the archives with "dev" in their names.