In Towards a New Socialism we give two methods of balancing a socialist plan. One is an iterative method based on input output tables (pages 84 to 89, printed editon). The second is a marginalist technique inspired by a combination of neural net theory and marginalist economics (pages 94 to 99).

In a posting from 2012 in the Three Toed Sloth cite our approaches are criticised as being just linear equation solvers of the Jacobi sort. The specific criticisms made are:

For Cockshott’s algorithm, or any other linear-equation solver, to be of real relevance here, we need to presume that

  1. we have settled on exactly how much of every good (and service) we want the economy to produce, including indexing by time and space;
  2. we have, for each good in the economy, exactly one way to produce every good in the economy, or we have, somehow, settled on one such way per good;
  3. every good in the economy is produced by combining inputs in fixed, known proportions, with no possibility of substitutions, alternative methods, increasing (or decreasing) returns, etc.;
  4. we do not need to check whether we actually have sufficient resources to achieve the desired level of output with the given technology

These are a mixture of one valid point with one complete misunderstanding, the leads on to other false objections..

  1. We do not specify exactly how much of each good must be produced, instead, we take Kantorovich’s formulation of the planning problem and specify a plan ray, that is to say, we specify the proportions in which the goods must be produced. We then attempt to achieve an output as far along this plan ray from the origin as is possible with the resources available. So we are not specifying exactly how much of each product to produce, we are specifying the ratios in which the products must be produced and attempting to maximise total output in these ratios.
  2. In the description of the algorithm given in the book, the Three Toed Sloth’s author is right. We did assume only one technique per industry. But the algorithm we described is not limited to that assumption. You can have several techniques per product and the procedure is still valid if you make some simple extensions described below.
  3. This is a continuation of point 2 and the objection falls if you specify several techniques for making the same product.
  4. This is plainly wrong since the algorithm attempts to maximise the output possible with the resources available. If you specify a point too far along the plan ray as your target, that does not matter since the only purpose of the target is to define a product mix that is to be maximised.

The algorithm is specifically modelled on the idealised account of resource allocation and reallocation assumed by neo-classical economics with the harmony function standing as a social utility function. That is why it is chosen to have a positive first and negative second derivative – corresponding to the principle of declining marginal utility.

The steps of resource reallocation in the algorithm ( steps 7 and 8 ) correspond to what is assumed to exist in a capitalist economy where resources are shifted from firms or industries earning a low return on capital to those earning a high return on capital.  The mean harmony computed in step (5) corresponds to the average rate of return on capital in a hypothetical capitalist economy.

The aim is to mimic the processes which, according to neo-classical economists, are supposed to lead to an optimal allocation of resources under capitalism. Except where the capitalist economy does it by actually overproducing some goods, and causing firms in these sectors to make losses, the planning authority simulates the process by which the capitalist economy is supposed to reach equilibrium before any actual orders for production are placed.

We do not claim that this process can arrive at optima that are in principle undiscoverable by the processes described in neo-classical economics. We do claim that the planning process

  • Avoids the wastefulness of actual overproduction and the cycle of boom and bust by which real capitalist economies adjust
  • Can, by simulation, arrive at the optimum much faster.

I do not know if the author of Three Toed Sloth is an advocate of capitalism, but if they are then any objection they have to our proposed optimisation algorithm would also apply to the neoclassical picture of capitalism on which it is based.

Since we wrote TNS we have become aware that in fact, the idealised picture of how a market economy rationally reallocates resources as a result of variations in profit rate is far from a realistic picture.

Non equalisation of profit rates

In principle, according to neo-classical theory, competition should drive a capitalist economy to have the same rate of return on capital in all industries. At most, there should be only marginal variations in rates of return on resources. Since then our research has shown that there is actually a huge variation in rates of return accross industries.

The image below is reproduced from a chapter we published in a book celebrating 100 years since the third volume of Marx’s Capital. It shows that for the UK the rate of return on capital ( vertical axis) tends to be inversely related to capital intensity (horizontal axis).

This is incompatible with the assumptions of marginalist economics, but entirely compatible with Volume I of Marx’s Capital. But it does indicate that capitalist economies can, in practice, be operating very far from the optimum assumed by the neo-classicals. Thus, even if a planning algorithm did no more than achieve what an idealised market should achieve, it would be doing much better than real market economies.

profitcurve

A second piece of evidence comes from a similar study we did of the US economy and its sectoral profit rates shown below:

profitrateusa

Again a wide spread of return on resources, inversely related to the capital composition.

Worse than Feudalism

A third piece of evidence comes from the work of the economic historian McDonald in his book Production Efficiency in Domesday England which compared the efficiency of feudal agriculture with a number of modern capitalist industries or sectors. He used linear programming to estimate how much different farms or firms could in principle have achieved with their available resources and compared this with what they actually produced. The results, shown below are interesting.

feudalefficiency

The only economic sample that he could find in the published literature whose mean efficiency of resource usage was actually better than Feudal England in 1086, were US steam power stations. In general, by the standards of linear programming, the other US economic sectors were markedly less efficient even than Feudal manors.

It seems that the opponents of socialist planning have very inflated ideas of how efficient market economies actually are. According to them, socialist planners are hopelessly wrong unless they can optimise problems that even an ideal capitalist economy could not optimise. It does not seem to matter to these advocates of the market that actual capitalist economies are far less efficient at resource utilisation than neo-classical theory predicts.

The description of the algorithm in TNS

Stages of the algorithm
(1) Randomly allocate resources to the industries. This is a notional random allocation, taking place within the computer. No real allocation of goods in the economy takes place at this stage. We specify a random allocation, since if our relaxation technique is valid then any starting point is as good as any other.

(2) For each industry determine which of the resources currently available to it is the rate-limiting factor, that is to say the resource that acts as a bottleneck on production.
(3) Each industry gives up non-critical resources (i.e. those which are surplus to requirements, given the rate-limiting factor) and allocates them to a common pool. This by definition does not reduce production and thus leaves harmony unaltered. Note that this reallocation takes place only within the computer’s memory; there would be no reallocation in the real world until the whole algorithm terminated.
(4) Work out harmony of each industry.
(5) Work out the mean harmony for the whole economy.
(6) Sort industries in order of harmony.
(7) Starting with those industries with highest harmony, reduce their output until their production level is such that their harmony is equal to the mean harmony. This is easy to do since the harmony function is invertible (that is, we can work backwards from harmony level to the corresponding output just as easily as from output to the corresponding harmony). Resources thus released go into the common pool.
(8) Starting with the industries with lowest harmony, assign to them resources
from the ‘pool’ and increase their output until they are producing at a level
equal to the mean harmony.
(9) Work out the new mean harmony. If it is significantly different from before
go back to stage 6.

Why does this work for multiple techniques in one industry?

Well the harmony function can be given as

function H(target,output: real) :real;
var excess:real;
begin
   excess:= (output -target)/target;
   if excess > 0 then H:= sqrt(excess)
   else H:= - (excess*excess)
end;

The excess of a good is therefore expressed in terms of fractions of the target output for that good.

The aim is to have a function that is symmetrically reflected around an axis of -45% passing through the plan target. It looks like this

harmony

Essentially it heavily penalizes falling short of the plan target and modestly rewards rising above the target. Allin pointed out to me later that it performs poorly in the range -1 to 1 because of a discontinuity of the derivative at 0, but for practical purposes, one can eliminate this problem by changing the definition of excess to

excess:= 10000000* (output -target)/target;

so that the excess will almost never fall in the range with nasty derivatives.

If one wants to work with multiple techniques per product, you slightly alter the algorithm so that where  we refer to industries, we substitute techniques. It which now reads

(1) Randomly allocate resources to techniques. This is a notional random allocation, taking place within the computer. No real allocation of goods in the economy takes place at this stage. We specify a random allocation, since if our relaxation technique is valid then any starting point is as good as any other.

(2) For each technique determine which of the resources currently available to it is the rate-limiting factor, that is to say the resource that acts as a bottleneck on production.
(3) Each technique gives up non-critical resources (i.e. those which are surplus to requirements, given the rate-limiting factor) and allocates them to a common pool. This by definition does not reduce production and thus leaves harmony unaltered. Note that this reallocation takes place only within the computer’s memory; there would be no reallocation in the real world until the whole algorithm terminated.
(4) Work out harmony of each product and each technique.
(5) Work out the mean harmony for the whole economy.
(6) Sort products in order of harmony.
(7) Starting with  fraction of those products with highest harmony ( say the top 20%), reduce their output until their production level is such that their harmony is equal to the mean harmony. This is easy to do since the harmony function is invertible (that is, we can work backwards from harmony level to the corresponding output just as easily as from output to the corresponding harmony). Resources thus released go into the common pool.
(8) Starting with the products with lowest harmony, assign to them resources
from the ‘pool’ and increase their output. If possible raise it until they are producing at a level equal to the mean harmony. In allocating resources, preferentially allocate them to the techniques within an industry that are capable of producing the greatest increase in harmony given the available pool of resources.
(9) Work out the new mean harmony. If it is significantly different from before
go back to stage 6.

 

The harmony function is defined on the net product of the economy, so when computing the harmony of a technique one forms a weighted sum of the harmony contribution of the output less the harmony used up by the inputs. In the case where there is just one technique per product, the harmony contribution of the output is simply the harmony of the product, in other cases, it has to be scaled by the amount of the product produced. One always scales the inputs used by their harmonies and the amount used when computing the final contribution of the technique.