See Gosplan ([1]). They kind of tried. It will work better with an implementation that has more silicon than humans, but it will still be miserable on the edges.
I’ve seen a lot of Gosplan computer center. We were borrowing “untouched” versions of software for Soviet bloc-produced IBM-compatible mainframes there. At the exit there was a KGB post, they were checking for a permission for every single bit of paper that was being carried out. But we were not carrying paper, we were carrying magnetic tapes, and our contact at GVC (“the main computing center of”) Gosplan was too lazy to go get a permission for them. So I tucked a magnetic tape behind my belt and buttoned up my coat. Not a single time I was stopped. GVC Gosplan had a full detailed data on the Soviet economy and I could have potentially carried any secret data away.
But we were not carrying any secret data, we were carrying OS/360 21.8 and later on - VM/370 (do not remember the exact version for that, sorry).
So, while Gosplan was planning and financing the production and distribution of the “adapted for socialism” version of OS/360 (re)named ОС ЕС - their own computing center (and everyone else who could have got it) were using the original OS/360. I wonder if any mathematical model can handle such a situation properly.
But yes - the mathematical beauty of a planned economy model is often negated by sheer incompetence and corruption of the planner.
Also, to be cruel is not enough. You should have a political power to implement an effective solution. Political power is based on relationships. Suppose mathematics says: person A’s project should be reduced, person B’s project should be funded more. But: person A is your guy, and person B is of your rival’s camp. Will you follow the math? It’s probably a theorem: in a planned economy a recommendation that reduces the political power of a person that has the political power to implement it - will never be implemented…
https://www.google.com/search?q=red+plenty
It's a fictionalised history of some Soviet economics. There's a chapter on Kantorovich (cf the sibling comment). It goes reasonably deep (not mathematically deep) and provides a lot of context. Great book from a great author. Don't be put off by the "Soviet" part -- it's very entertaining.
"He is regarded as the founder of linear programming. He was the winner of the Stalin Prize in 1949 and the Nobel Memorial Prize in Economic Sciences in 1975."
In that respect, any book about linear programming is a good start. The problem with the approach used back in the time was a slow feedback loop (5-10 years) and inability to adjust to externalities, including technology changes. That should be possible to improve with our modern tech, but I am not aware of any good contemporary books about it - if someone knows one, I would appreciate a reference myself.
Edit: from the CIA file on Kantorovich ([2]):
"In addition to his mathematical research, Kantorovich has been directly involved in developing improved designs for high-speed digital computers, an activity apparently motivated by the Soviet Union's need for improved computers in solving large economic planning problems" "
1. https://en.wikipedia.org/wiki/Leonid_Kantorovich
2. https://en.wikipedia.org/wiki/Leonid_Kantorovich#/media/File...
One thing I noticed is that smoothing functions that reduce overshooting the response also add some delay to the time taken to first reach the command threshold. This is interesting, if not quite surprising.
It's one of the fundamental techniques to get PIDs to work properly IRL. I can't find it right now, but I remember having a cheat sheet with a lot of tricks to make PIDs work properly. As a control engineer you learn a lot of fancy techniques, of which you usually only use a few, but practical PID control is sadly not taught in most courses because it's basically a collection of hacks.
If you know a little bit more about the system's behavior you can usually precalculate the optimal inputs and use the PID only for course correction, that often yields much better responses than what you can achieve with a controller alone.
If your system is nonlinear, it might be useful to use gain scheduling to adapt the PID parameters to the setpoint region you're operating in.
Switching behaviors in the system can also mess up your responses.
Sometimes your system has a vibrating frequency that can lead to resonance in your control. You may need to filter that, too, maybe even with a sliding frequency window. E.g. when controlling a gearbox attached to a motor, you don't want to actuate at the motor's vibrating frequency.
>smoothing functions that reduce overshooting the response also add some delay to the time taken
It's not so surprising if you think about what a low pass filter does. By filtering out the high frequencies the response becomes more sluggish, meaning that your input to the PID is already delayed. This means your PID reacts more slowly.