No it isn't, the price of the goods changes depending on the goods used by population to meet their demands, thus meaning that your calculations depend on themselves, making apriori calculation of the "correct" substitution difficult and time intensive.
As there are already enough people saying the game is moving too slowly, there is only a limited budget of operation time that can be used for calulating goods substitution, and thus they are using a method that they are able to calculate apriori, meaning they only have to do it once and the result doesn't depend on the result of the calculation.
I'm not saying this is the way it should be done, as I think I've already mentioned in the other thread about goods substitution, but I can at least understand why they've done it, even if I don't agree with it.
But designing an algorithm that provides better results without requiring multiple rounds of recalculation is not easy, as can be found if you read through the other thread. Fastest option would be to calculate substitution based on (goods production - non-population demand) as that removes the circularity of the calculations, and produces at least better results than the current version which is just based on goods production, but would add more calculations as first the non-population demand needs to be calculated. This likely wouldn't cause too much slow down, but then again, I don't have access to the game code nor proper debug timing tools. If we want better price fidelity we need to also take the population demand itself into account in the calculation, and here we get to problems with priority and precedence. If one pop or need is calculated before another, they might make wildly different substitution decisions as their demand will make things different for the following calculations, and this would also mean that the amount of calculations needed for substitution would skyrocket, since you'd need to re-do most of the calculations as many times as you have population fragments demanding things. One option would be to base the calculation on the previous round of calculation, so last weeks price information, where we solve the problem of demand changing price, as that has already been calculated, so we don't need to recalculate it on the fly, but then substitution will always drag a bit behind actual optimal, and if there is no proper damping on substitution we can get a wildly oscillating system that one week uses wood for heating fully since it was cheap last week, and then the next switches over to oil since it was cheap this week, and thus making havoc on the overall market pricing.
If you can show which part of that description is "total speculation", please do so. It's based on the basic functions of the economic simulation and how demand affects prices, and the fact that there are multiple actors creating demand.
If you know of a way of calculating optimal goods substitution for all populations even in one state in one go, without referencing the results of the goods substitution, please do tell, I'm sure the other thread would appreciate the input.