CP008.pas

[From Bill Powers (2001.11.18.1124 MST)]

For Bill Williams and other programmers ---

I see I forgot to CC this to the net, so here it is again, Bill -- sorry to
waste your space.

Attached is CP008.pas, which wraps up my thoughts so far on an interacting
consumer and producer. Bill, you will be glad to see that the output of the
consumer control system is a rate at which "transactions" occur, and Plant
transactions are always equal to Household transactions. Each transation
conveys some number of goods (the magnitude of the transation) out of plant
inventory and simultaneously into consumer acquisitions, and the price of
the transaction decreases consumer cash (called savings) and
simultaneously increases plant cash (called reserves). So the transfers of
goods and money take place instantly, during each iteration, as you say
they should.

There are no provisions for anything fancy like investments, and wages and
capital income probably aren't treated right yet. There is 1 plant and 1
consumer.

The consumer, who controls the variables making up a "household", has two
goals: a goal for the store of goods acquired, and a goal for not spending
more than some specific amount. I think this part needs a little more work.
The goal settings are adjustable, and would eventually be set by
higher-order systems.

The manager, who controls the plant, has goals for the monetary reserve R
and for inventory V. Inventory is controlled by adjusting the price of
goods, and the reserve is controlled by varying Wages. This, of course,
could be made more complex. For example, if inventory were too high, the
inventory error might be counteracted by changing both wages (or number of
workers) and prices, and ditto for the Reserve error. But I like to start
simple and see where we are before adding complexities.

The control systems, I believe, will, through their interactions, create a
relationship between supply and demand that will equilibrate automatically.
A circular monetary flow will be established, and production (and wages)
will settle to the state where all that is produced is consumed, with some
amount in inventory, and nonzero cash reserves or savings will be build up.
I think it will prove tricky to make sure there is enough money in the
system to keep anything from hitting a limit. I'm trying to leave banks out
of it, but they may be necessary to provide new money when needed.

There is noithing in the system yet to create growth/contraction, and
negative savings or reserves (borrowing) is not allowed. But one thing at a
time.

Best,

Bill

Cp008.pas (91 Bytes)

from Rick Marken (2001.11.18.1600)]

Bill Powers (2001.11.18.1124 MST)

Attached is CP008.pas, which wraps up my thoughts so far on
an interacting consumer and producer.

I like it! Unfortunately, I don't have a Pascal compiler anymore (even
on my PC) so I can't compile it. Does it work? If so, I would like to
get the .exe file so I could run it and see what happens. I think I
understand the gist of it: The consumer controls acquisitions (goods and
services) and savings (spending cash) by varying the rate of buying
(transactions = goods*price). At the same time the producer (manager)
controls inventory and reserves by varying wages and prices. I imagine
that wages, prices and transaction rate (demand) reach some steady state
value at which acquisitions, savings, reserves and inventory (supply)
can be kept at their reference levels. Is that about right?

If you think it's worth it I can try to build an Excel Visual Basic
version in parallel to your Pascal development. I don't think it should
be that hard. If I have an .exe version of CP008.pas I can check to make
sure that the Visual Basic version (CP008.vb) is running correctly.

I think I saw one possible error in the code. In procedure
consumerlevel1 the test for hT <= 0 occurs _after_ hT is placed in
plant.pT (plant.pT := hT). Shouldn't the test come before plant.pT := hT
so that pT is not subtracted out of plant.pT? It's probably not crucial
to the functioning of the program.

I like the idea of having the two interacting control systems be a
producer and a consumer. In my original implementation of a model
economy (the H. economicus model that I presented at the Y2K CSG
meeting) the two interacting control systems were a production manager
and an aggregate controller (producer/consumer). That model was based on
your dad's circular flow model of the economy. I think the
consumer/producer approach is better because it is consistent with the
more traditional view of the economy as being made up of producers and consumers

Best regards

Rick

···

--
Richard S. Marken
MindReadings.com
marken@mindreadings.com
310 474-0313

Hi, Rick --

From Rick Marken (2001.11.18.1600)]

I like it! Unfortunately, I don't have a Pascal compiler anymore (even
on my PC) so I can't compile it.

I'll send you replacement copies for your Turboi Pascal 7.0 floppies if you
want to get back into TP. You can put the cursor on a function name in the
Editor and hit control-F1 to get usage, so you don't really need a manual,
though I'll lend you mine to copy if you wish. It's legal because you were
once a legal user. Or maybe you can get Rand to buy you a copy -- it can
still be found if you search for Used Software. By the way, how is Ayn?

Does it work? If so, I would like to
get the .exe file so I could run it and see what happens.

No, not yet. The initializations have to be set up, and I haven't debugged
it yet.

I imagine
that wages, prices and transaction rate (demand) reach some steady state
value at which acquisitions, savings, reserves and inventory (supply)
can be kept at their reference levels. Is that about right?

If it runs, that's what I imagine, too. But who knows? Models behave the
way you designed them, not the way you wanted them to behave.

If you think it's worth it I can try to build an Excel Visual Basic
version in parallel to your Pascal development. I don't think it should
be that hard. If I have an .exe version of CP008.pas I can check to make
sure that the Visual Basic version (CP008.vb) is running correctly.

Sure, that sounds feasible and would make it accessible to Macs (I assume).
No .exe yet.

I think I saw one possible error in the code. In procedure
consumerlevel1 the test for hT <= 0 occurs _after_ hT is placed in
plant.pT (plant.pT := hT). Shouldn't the test come before plant.pT := hT
so that pT is not subtracted out of plant.pT? It's probably not crucial
to the functioning of the program.

I'm using hT and pT as synonymous with G right now, if that wasn't clear.
Every transaction involves a quantity of goods changing hands, and that is
G. A transaction by itself, without considering goods or money, is an
abstraction, a perception of an event.

I'm not allowing negative transactions, so you're right, thanks. I've
moved that line of code up a line. Actually, come to think of it, the test
should be placed in the consumer, because hT shouldnd't go negative,
either. The variable pT comes from hT. We're not ready to allow goods to
be returned under warrantee and so forth, so transactions can't be undone.
A transaction, I repeat, is not just an event: it's a transfer of a certain
quantity G (otherwise known as dQ) of goods. Accompanying every transaction
is also a transfer of an amount of money P*dQ, (dQ is known here as G, pT,
or hT, which are all numerically the same and belong conceptually to the
same transaction).

I like the idea of having the two interacting control systems be a
producer and a consumer.

A manager and a consumer, I say it. The "producer" now consists of a
plant(thing) and a manager (perfson), with only the manager being a control
system. What was a consumer is now a combination of a consumer(person) and
a household (thing), in which only the consumer is a control system.

In my original implementation of a model
economy (the H. economicus model that I presented at the Y2K CSG
meeting) the two interacting control systems were a production manager
and an aggregate controller (producer/consumer). That model was based on
your dad's circular flow model of the economy. I think the
consumer/producer approach is better because it is consistent with the
more traditional view of the economy as being made up of producers and

consumers

The manager contains two control loops, one controlling money and the other
inventory. These may become separate mid-level managers, with another layer
above them to control some more abstract concept like efficiency or return
on investment. And maybe there would be a production manager as in your
model, also, and a sales manager. These managers are all just consumers
performing certain functions within the composite producer, of course. At
home they are all consumers. It will be interesting, some day, to consider
conflicts inside a person who wants one thing as a consumer and something
incompatible as a manager.

Mary will be looking for Keynes General Theory in used bookstores, today.
Trying to stay honest.

Best,

Bill

[From Rick Marken (2001.11.19.1445)]

Bill Powers wrote:

I'll send you replacement copies for your Turbo Pascal 7.0 floppies if you
want to get back into TP.

Thanks. I'll try it.

By the way, how is Ayn?

Dead. Actually, we're not named for Ayn. I found out that Rand is an acronym
for _Research and no development_. Really.

The initializations have to be set up, and I haven't debugged it yet.

Let me know when you have a working version. I will try to set up a version in
Excel.

Best

Rick

···

--
Richard S. Marken, Ph.D.
The RAND Corporation
PO Box 2138
1700 Main Street
Santa Monica, CA 90407-2138
Tel: 310-393-0411 x7971
Fax: 310-451-7018
E-mail: rmarken@rand.org

[From Rick Marken (2001.11.21.0900)]

Bill Powers (2001.11.18.1124 MST)

Attached is CP008.pas, which wraps up my thoughts so far on
an interacting consumer and producer.

Has anyone noticed how quickly discussion on CSGNet comes to an end
when an actual model (or actual data) is presented?

Happy Thanksgiving

Rick

···

---
Richard S. Marken, Ph.D.
The RAND Corporation
PO Box 2138
1700 Main Street
Santa Monica, CA 90407-2138
Tel: 310-393-0411 x7971
Fax: 310-451-7018
E-mail: rmarken@rand.org

[From Bill Powers (2001.11.21.1146)]

Rick (Righteous) Marken (2001.11.21.0900)--

Has anyone noticed how quickly discussion on CSGNet comes to an end
when an actual model (or actual data) is presented?

I hope everyone else on the net feels suitably put down, thereby making one
other person appear (deceptively) taller.

Best,

Bill P.

[From Rick Marken (2001.11.21.1120)]

Bill (Vigilant) Powers (2001.11.21.1146)

Rick (Righteous) Marken (2001.11.21.0900)--

>Has anyone noticed how quickly discussion on CSGNet comes to an end
>when an actual model (or actual data) is presented?

I hope everyone else on the net feels suitably put down, thereby making one
other person appear (deceptively) taller.

That doesn't seem like a very nice hope. I hope that everyone on the net
(short and tall) feels suitably concerned about my concern and that they
(especially the economic experts, in this case) will, therefore, make an
effort to study the model and make helpful comments and suggestions.

Best regards

Rick

···

---
Richard S. Marken, Ph.D.
The RAND Corporation
PO Box 2138
1700 Main Street
Santa Monica, CA 90407-2138
Tel: 310-393-0411 x7971
Fax: 310-451-7018
E-mail: rmarken@rand.org

In regards to things going quiet I have also had the impression that if a
post specifically applied to the PCT model but maybe in an research area not
'controlled by' many on the list, it rarely recieves comment. I think it
starts to create a culture where if scant reply is recieved for your own
request there is little good will to spend time helping others in what they
are controling in using PCT. People are more prone to offer disurbances to
others. Hopefully this can be turned around.

···

-----Original Message-----
From: Control Systems Group Network (CSGnet)
[mailto:CSGNET@LISTSERV.UIUC.EDU]On Behalf Of Richard Marken
Sent: Thursday, November 22, 2001 6:18 AM
To: CSGNET@LISTSERV.UIUC.EDU
Subject: Re: CP008.pas

[From Rick Marken (2001.11.21.1120)]

Bill (Vigilant) Powers (2001.11.21.1146)

Rick (Righteous) Marken (2001.11.21.0900)--

>Has anyone noticed how quickly discussion on CSGNet comes to an end
>when an actual model (or actual data) is presented?

I hope everyone else on the net feels suitably put down, thereby making

one

other person appear (deceptively) taller.

That doesn't seem like a very nice hope. I hope that everyone on the net
(short and tall) feels suitably concerned about my concern and that they
(especially the economic experts, in this case) will, therefore, make an
effort to study the model and make helpful comments and suggestions.

Best regards

Rick
---
Richard S. Marken, Ph.D.
The RAND Corporation
PO Box 2138
1700 Main Street
Santa Monica, CA 90407-2138
Tel: 310-393-0411 x7971
Fax: 310-451-7018
E-mail: rmarken@rand.org

[From Rick Marken (2001.11.21.1640)]

I said:

Has anyone noticed how quickly discussion on CSGNet comes to an end
when an actual model (or actual data) is presented?

And Bill said:

I hope everyone else on the net feels suitably put down, thereby making
one other person appear (deceptively) taller.

I ran this by Linda (who seems to be able to perceive the world as most
others do) and, to my surprise, she agreed that I deserved to have my
knuckles rapped. She did disagree, however, with your parenthetical
"deceptively". But, then, Linda has always had a distorted impression of
my size;-)

Rohan Lulham wrote:

In regards to things going quiet I have also had the impression that if a
post specifically applied to the PCT model but maybe in an research area not
'controlled by' many on the list, it rarely recieves comment.

An excellent observation, Rohan

Best regards

Rick

···

--
Richard S. Marken
MindReadings.com
marken@mindreadings.com
310 474-0313