The choice on sustainability:
information or the meta-SWF approach
to a shift of preferences
(with small corrections)


Thomas Cool, June 1 & June 21 2000

Consultancy & Econometrics
Report TC-2000-06-01
JEL A00, Q00

If an economic system has a regime switch, then we could assume that the preferences have remained basically the same, but that only the state of information has changed. An alternative view is that there has been a shift of preferences, as for example individual persons can change their mind too. Economic theory needs the concept of a ‘meta social welfare function’ (meta-SWF) in order to explain switches in preference regimes. Hueting’s argument on the switch in environmental policy from laissez faire to sustainability is an interesting example for this argument.


Cool (2000) presents the extended social welfare function SWF(x ; I), where x is the allocation over agents, and where the state of information I is included in the SWF, to express in a shorthand fashion that society’s choice can depend upon the state of information. The basic notion is that the SWF remains the same over the regimes, but a condition can change. Information is basically just an example for such a condition, since also another variable can cause the switch. In a sense we could allow for time as the ‘explanatory’ variable. Basically, of course, we can have a dynamic situation that gives the evolution of the SWF over time, with perhaps a dramatic change at the switch point. But simply designing a path of SWF(t) will not do, since economics has to model the process of choice that is involved in the making of the change. An alternative approach is to assume different social welfare functions per regime, for example SWF(x) and SWF*(x) if there are two regimes. But with different SWF’s we would need a meta-SWF to explain the shift.

The issue actually holds for any regime switch. A useful example is the issue of the choice in environmental policy between laissez faire and sustainability.

The environmental issue

The environment can be seen as generating various functions that enable life and economic activity. In the past these functions were free, and thus had no price attached to them. Nowadays, however, these functions become scarce, and thus get to be priced. The (unmanaged) market price - or ‘laissez faire’ price - of an environmental function can be derived as the cost that an economic agent has to make if he or she wants to enjoy the function. Alternatively, the government may impose controls to influence that price (and we get a market with controls). Choosing a correct price is important also for statistical purposes, since a figure like ‘national income’ is calculated while using prices.

A government can have various objectives when choosing its controls. One important objective might be ‘sustainability’, i.e. that the environmental functions are used such that nature can run its course, and such that later generations are not overly hindered by current uses. Hueting presents the choice for sustainability as socially optimal. "In other words", social welfare should increase as a result of the choice for sustainability. The choice for sustainability would generally mean that people would use less resources, and ‘national income’ as currently measured might well be lower. By economic intuition we expect that a move to a better situation is reflected in the upward movement of at least some indicator. If ‘national income’ goes down, then at least social welfare has to go up. This paper hopes to clarify this issue.

We will show in particular:

  1. Once sustainability has been chosen as a goal, then the social optimum is reached at the point of sustainability.
  2. The move from laissez faire to the objective of sustainability however may be a change of preferences.
  3. The latter move may well mean a lower social welfare.
  4. To understand the switch of preferences, economic theory needs the concept of a ‘meta-social welfare function’, which guides the overall selection of preferences. The switch can only be regarded as an improvement if it is determined as such in the meta-SWF.
A meta-SWF is, in itself, not too difficult to understand. In the same way a person can change his or her mind. Also, an older generation may prefer laissez faire, while a younger generation may choose sustainability, and hence eventually there would be a switch of preferences.

It follows, therefor, that the discussion on sustainability may be a bit more complex than originally thought.

Basic concepts

Figure 1 is the, one might say, renowned Hueting graph of the relation between an environmental function and its price. The upward sloping curve gives the producer costs ('supply'), found by looking at the costs of making the function available - such as water clean-up. The downward sloping curve gives the laissez faire user costs ('demand'), based upon such laissez faire prices. It could be constructed from the efforts by the agents to compensate for the loss of function by choosing other activities or using other resources. These costs should be added to give total unit costs. The suggestion is that the observed choice is at the minimum of this summed costs. Basically, though, a social welfare function would select the observed point, by balancing the environmental costs with other objectives (not shown). Anyway, statistically, we could observed the implied price (total cost) at ‘observed preferences’. Alternatively, society imposes a norm of higher availability, and then the intersection of the vertical norm and the cost curves gives the normed price.

Figure 1: Environmental function and its price

Incidently, society’s norm will be derived from individual preferences. It has been conjectured by some, in verbal discussions, that Hueting would ‘impose’ the norm of sustainability. This however appears to be a misunderstanding. The difference between the laissez faire situation and the normed situation appears to derive from different considerations - as holds regime switches in general.


It will be useful to model the problem. Let us consider two non-overlapping generations who ‘share’ 100 units of oil and 100 units of water. The first generation will make the decisive decision how much to use itself, and it will bequeath the remainder to its descendants. To do so, the first generation uses a social welfare function (SWF), which function not only contains its own direct income yNow but also the indirect welfare that it derives from the situation for the descendants. This indirect welfare is based on the direct income yFuture that the descendants are hypothesised to achieve. We follow Ramsey in a lack of a rate of discount.

The SWF will here be a Constant Elasticity of Subsitution (CES) function that neglects the distribution of income. Next to an ‘egotistic’ base situation SWF, we regard the alternative SWF* in which society switches its preferences so that it becomes more understanding of the needs of future generations. The SWF* includes a bonus welfare injection that derives from making the switch:

The income of the generations is determined by production functions that depend upon the allocations of the factors of oil and water. With a constant technology, and i = Now, Future:


We solve the model by the program originally developed by Noguchi (1993) and further developed by Cool (1999). In the plots, the base ‘egotistic’ situation has continuous lines, and the alternative ‘sustainable’ situation has dashed lines. We use r = 2/3 (s= 3/5) and r = -2/3 (s= 3). We also assume that the switch bonus = 0.

Figure 2 plots the production possibility curves and the SWF indifference maps of the two situations. Clearly the alternative SWF allows more consumption for the future generation.

Figure 2: Production Possibility Curves & Indifference Maps

Figure 3 plots the Edgeworth-Bowley diagram, with Now in the lower left and the Future in the upper right. The movement is downwards along the contract curve. Since the production functions are the same, the contract curve is a straight line. Consequently, the percentage that a generation takes of the resources is the same for all resources.

Figure 3: Edgeworth-Bowley Diagram


The following tables give the numerical outcomes of the two regimes. The social optimum is found as in Table 1. The associated allocations are in Table 2 - left and right side. Given our simple assumptions, we also get a simple result. When you compare the two regimes, please note that the prices are normalised per regime to a unit price for Now, and thus are not comparable over regimes.

Table 1: Utility, production and national income for two regimes

Utility level
National income
Product prices
Now & Future
Now & Future

Note: All prices are scaled so that the product price of the Now-sector = 1. This is also done per regime, so that the price levels over the regimes are not comparable.
Table 2: Allocations

National Income Share


Closer understanding

We arrive at a closer understanding by regarding two other graphs. Let us choose water allocation at the optimal level, and vary the allocation of oil. Figure 4 shows the SWF and SWF* graphs as functions of the allocation of oil to the Now generation. Figure 5 plots the output levels of the Now and Future generation. Output of the Now generation goes up when it uses more and more oil. At the same time the resource for the Future generation goes down, and hence income goes down. As the income of the Future generation goes down, then this eventually affects the social welfare of the Now generation as well.

Figure 4: Maximising SWF


Figure 5: Output

We now can understand the Hueting graph a bit better. The switch from the laissez faire situation to the normed ‘sustainability’ situation can be a switch from one SWF to an alternative SWF*. The horizontal axes in Figure 4 and Figure 5 give depletion, which is the opposite of availability. Due to the higher preference for presumed future consumption, current output becomes less and future output goes up, and hence the availability of the resource goes up as well.

In this example, we see that the absolute value of social welfare is less in the new situation. Lesser consumption Now is compensated by a benefit to the future generations, but not fully. With ordinal welfare, this does not mean much of course. If we assign meaning to the numerical values, however, then a non-zero switch bonus is required. In this case the bonus should be at least 2.6 welfare function points (or output to that effect). In a general approach, we would need a meta-SWF to choose between the SWF and SWF* - i.e. to deal with that constant. Such a meta-SWF would automatically assign a value to the different welfare scales.

Alternatively, if we use the SWF(x; I) approach, then the regime switch could be the result of a change of the state of information from I = 0 to I = 1, and we would get SWF(x, 0) = SWF(x) and SWF(x; 1) = SWF*(x). By implication the two welfare scales are considered to be comparable, and the bonus would be the implied value of the information.

This discussion thus corroborates Huetings position, but adds a useful clarification. This analysis also shows that there is scope for research on how people’s choices are affected.

Hueting’s position might be interpreted as: If society decides for sustainability, then apparently this is an (meta-SWF) improvement. A problem with this position could be Hume’s gap between Is and Ought. From observing a certain situation, we cannot conclude that it apparently is optimal. However, Hueting’s position would be valid if the emphasis is on ‘decides’. If society decides, i.e. aggregates its preferences, to sustainability, then this by definition gives the new social preference. But for the same reason, it is not obvious that society would make this choice. It might as well think that sustainability has no bonus. Note for example that the SWF* optimum certainly is lower in terms of the original SWF, so some people who think in terms of the original function will have a hard time to see the improvement.


We clarified that regime switches can be represented by the information approach or by the meta-SWF approach to preference switches. And we showed that these are to some extend equivalent.

Using this, we clarified the discussion on the policy choice on sustainability.

This analysis also shows that there is scope for research on how people’s choices are affected.


Cool, Th. (1999), "The Economics Pack, Applications for Mathematica", Scheveningen, JEL-99-0820, ISBN 90-804774-1-9

Cool, Th. (2000), "Definition and Reality in the General Theory of Political Economy", Scheveningen, ISBN 90-802263-2-7

Hueting, R., c.s. (2000), "Prijs het milieu, niet het beleid", Economisch-Statistische Berichten 4244, February 25, p157-159 (Dutch)

Hueting, R. (1992), "The economic functions of the environment", in P. Ekins and M. Max-Neef (ed), "Real life economics", Routledge

Noguchi, Asahi (1993), "General Equilibrium models", in Varian (ed), "Economic and financial modeling with Mathematica", Springer Telos 1993 pp 104-123

Appendix: Program

The following is the Economics Pack program to produce above results.



(* SWF *)

SetFunction[case1, now] =

{Function ® ( 0.4 oilNow^rho + 0.6 waterNow^rho)^(1/rho),

CoefficientList ® {rho ® 1 - 1/3},

Factors ® {oilNow, waterNow} }

SetFunction[case1, future] =

{Function ® (c oilFuture^rhoF + (1-c) waterFuture^rhoF)^(1/rhoF),

CoefficientList ® {c ® 0.4, rhoF ® 1 - 1/3},

Factors ® {oilFuture, waterFuture} }

SetModel[NumberOfSectors ® 2, NumberOfFactors ® 2, Utility ® CES,

Production ® {Sector[1] ® SetFunction[case1, now],

Sector[2] ® SetFunction[case1, future] } ]



ownpars = {Utility ® {Scale[Utility] ® 1, RTS[Utility] ® 1, S[Utility] ® .6,

FactorE[1] ® 0.7, FactorE[2] ® 0.3},

Production ® {}, Resources ® {100, 100}}

asgn = Assign[ownpars]

eq = Equilibrium[ownpars]


shares = (FactorPrices /. eq) * (Resources /. ownpars) / (YEq /. eq)

cpc23 = CPCDiagram[ownpars, AxesLabel ® {"Now", "Future"},

AspectRatio ® Automatic]

ploteq1 = EdgeworthBowley[ownpars, Factor ® {1, 2}, PlotPoints ® 50];

(* Analysis *)

swf1 = Utility /. Results[AGEmodel]

asgn = Join[ Assign /. Results[AGEmodel], {oilFuture ® 100 - oilNow ,

waterFuture ® 100 - waterNow}]

SWF[oilNow_, waterNow_] = swf1 /. asgn

swfplot = Plot[SWF[x, 63], {x, 0, 100}, AxesLabel ® {oilNow, "Social\nwelfare"}];

swfplot3D = Plot3D[otherSWF[x, y], {x, 0, 100}, {y, 0, 100}]

y1[oilNow_, waterNow_] = Sector[1] /. Results[AGEmodel] /. asgn

y2[oilNow_, waterNow_] = Sector[2] /. Results[AGEmodel] /. asgn

outputplot = Plot[{y1[x, 63], y2[x, 63]}, {x, 0, 100},

AxesLabel ® {oilNow, "Output"}, PlotRange ® All, AxesOrigin ® {0, 10}];

(* SWF 2 *)

otherpars = {Utility ® {Scale[Utility] ® 1, RTS[Utility] ® 1, S[Utility] ® .6,

FactorE[1] ® .5, FactorE[2] ® .5},

Production ® {}, Resources ® {100, 100}}


othereq = Equilibrium[otherpars]


shares = (FactorPrices /. othereq) * (Resources /. otherpars) / (YEq /. othereq)

othercpc = CPCDiagram[otherpars, AxesLabel ® {"Now", "Future"},

AspectRatio ® Automatic, ContourStyle ® {Dashing[{0.02}]}];

cpcfin = Show[cpc23, othercpc];

Export["C:\dump\cpc.gif", cpcfin, "gif"]

othereb = EdgeworthBowley[otherpars, Factor ® {1, 2}, PlotPoints ® 50,

ContourStyle ® {Dashing[{0.02}]}];

ebfin = Show[ploteq1, othereb, FrameLabel ® {"Oil", "Water"}]

Export["C:\dump\eb.gif", ebfin, "gif"]

(* Analysis *)

otherasgn = Join[Assign /. Results[AGEmodel], {oilFuture ® 100 - oilNow ,

waterFuture ® 100 - waterNow}]

otherSWF[oilNow_, waterNow_] = swf1 /. otherasgn

otherswfplot = Plot[otherSWF[x, 50], {x, 0, 100},

AxesLabel ® {oilNow, "Social\nwelfare"},

PlotStyle ® {Dashing[{0.02}]}];

swffin = Show[swfplot, otherswfplot]

Export["C:\dump\swf.gif", swffin, "gif"]

othery1[oilNow_, waterNow_] = Sector[1] /. Results[AGEmodel] /. otherasgn

othery2[oilNow_, waterNow_] = Sector[2] /. Results[AGEmodel] /. otherasgn

otheroutputplot = Plot[{othery1[x, 50], othery2[x, 50]}, {x, 0, 100},

AxesLabel ® {oilNow, "Output"}, PlotRange ® All,

AxesOrigin ® {0, 10}, PlotStyle ® {Dashing[{0.02}]}];

oplt = Show[outputplot, otheroutputplot]

Export["C:\dump\output.gif", oplt, "gif"]

(* Hueting graph *)

supply[x_] := x^2 + .2

demand[x_] := .1 + 1/(x + .25)

huet1 = Plot[{supply[x], demand[x]}, {x, 0.2, 1.5}, Ticks ® None,

AxesOrigin ® {0, 0}, AxesLabel ® {"Availability of\nEnv. Function", "Price"} ];

as = Asymptot[{1.25, 3}, True, DashingValues ® {0, 0}];

poi = PointOfIntersection[demand, supply, 3]

as2 = Asymptot[poi, False]

as3 = Asymptot[{1.25, supply[1.25]}, False]

huetplot = Show[huet1, as, as2, as3]

Export["C:\dump\hueting.gif", huetplot, "gif"]