Maybe there's a better match with salts he doesn't have but would/could easily obtain if he knew he could use them/they were beneficial.
The software I use now has all the salts that could potentially be of benefit and the ability to add any that one might conceivably think of using. Are you suggesting that there are other salts we don't know about?
Many combinations of salts can result in the same profile. Same thing with acids/bases. Go all baking soda or limit Na by adding in pickling lime, get some Mg from MgCl and some from MgSO4, get some Cl from NaCl and some from CaCl, etc....
I covered that in some detail in No. 38.
Making software that helps the end user by making suggestions *is the purpose of software*.
Hardly. Software controls my coffee pot, transforms signals from my depth sounder's transducer to images of fish (though precious few recently) on a screen, translates range measurements from GPS satellites into position data and plots it on a current map, makes sure that map is up to date, compresses audio, video and image data, manages packet switches, steers airplanes, prevents spam callers from ringing my phone, computes the amounts of salts I choose to get an ion profile I want according to an optimality condition I choose, decompresses my blue rays, converts x-ray intensity measurements to CAT scan images, controls my 3D printer, sets the mixture in my car to optimum, transmits pressure reading from my cold room compressor to my cell phone, collects readings of temperature and pressure from my heat pump and sends it to a Web sight, sends me an e-mail if the generator runs, lets me know what my portfolio is worth, automatically sends my insurance payment to the company, converts beer absorption spectra into SRM and SDC data, tells me if someone opens the garage door, automatically records displays and calibrates my pH readings, routes the traces on printed circuit boards, turns the steam on and off automatically to hold the temperature in my HLT to a desired value and, obviously, I could go on. I can think of no software that I have encountered that would "make suggestions" nor would I have any use for such nor can I imagine any manifestation of such software for this particular application. Software is there to do things we can't do (invert a large singular matrix) or don't want to do (like turning my heat pump on as necessary to hold the water in the tank at the right temperature without short cycling the compressors...) and to give us the information we need to make informed decisions.
Making software that gives a one off answer...
Software of this sort models the various brewing components which models, it is presumed, predict well how the component responds to its environment. If you feed x mEq of acid to y mmol of bicarbonate some of it will convert to carbonic acid in a way reliably predicted by the Henderson-Hasselbalch equation. Any program that wants to match an ion profile has to be aware of that. There would be no value is a program that 'advises' one to use sodium bicarbonate rather than sodium carbonate because the brewer using the program wants to use sodium bicarbonate.
and labels it as the only answer not only limits the end user but makes the software appear "dumb".
But it is the answer - the only answer unless you change the input conditions. You seem to be missing the point that the user has all the flexibility he needs. I suspect you aren't reading what I am posting but with respect to this problem and the use of Solver to solve it he can choose salts, optimality criterion, ions to be matched, weighting to be applied, set limits for a salt or salt.
Imagine such software were in place now, users would come to the "Brew Science" forum, post a screen shot of the list of amounts of salts/acids/bases" and ask "I have the ingredients for #1 but would like #3 what benefit does it have?"
Well they can do that now, of course. Not using the current popular spread sheets which do a pretty miserable job of allowing one to set a profile in some cases because the profiles are flawed. And people do it. The answers they usually get are things like "you used an acid and a base. Those cancel each other out so don't use both" or 'You used calcium carbonate, that doesn't work because it doesn't dissolve. Try sodium carbonate". Are you suggesting that the software should do that? Well it does currently. I've seen at least one spreadsheet that caveats against the use of chalk. In the one I'm working on now if you have a mash with a negative proton deficit and try to zero that by adding sauermalz you will get a message box that says you can't do that.
As opposed to mumbling conversations about mEq/L of some inane proton not balancing.
The fact that you think mention of mEq and proton balance inane only indicates that you haven't a clue as to how mash prediction and water formulation work. Proton transfer is at the very heart of it. You cannot hope to write or really even comment on brewing software if you do not understand this concept.
This would relegate knowledge to a select few but such is the current state of affairs.
I remind you that this is the Brewing Science forum. We discuss brewing science here. While it is true that one can write software for brewing applications based purely on empirical observations robust software must depend on the science.