Date post: | 01-Jan-2016 |
Category: |
Documents |
Upload: | britanni-rogers |
View: | 19 times |
Download: | 1 times |
April 13-15, 2003 SwarmFest, Notre Dame 1
jES
Pietro Terna [email protected]
Department of Economics and Finance “G.Prato”
University of Torino - Italy
Decision making and enterprise simulation with jES and Swarm
web.econ.unito.it/terna
web.econ.unito.it/terna/jes
April 13-15, 2003 SwarmFest, Notre Dame 2
_jV
E->
JES
_______________________________________
jVE jES
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 3
From jVE …
… to jES
jVE
->jE
S
Virtual Enterprise ??
Enterprise Simulator
www.flightgear.org
With jES we can simulate:
•actual enterprises
•virtual enterprises
(as “would be” enterprises or in the direction of the NIIIP project, see below)
April 13-15, 2003 SwarmFest, Notre Dame 4
_ove
rvie
w
_______________________________________
Overview
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 5
over
view
1
Overview 1/2
jES, java Enterprise Simulator (formerly jVE, java Virtual Enterprise), is a large Swarm-based package[1] aimed at building simulation models both of actual enterprises and of virtual ones.
On the first side, the simulation of actual enterprises, i.e. the creation of computational models of those realities, is useful for the understanding of their behavior, mainly in order to optimize the related decisional processes. On the other side, through virtual enterprises we can investigate how firms originate and how they interact in social networks (Burt, 1992; Walker et al., 1997) of production units and structures, also in “would be” situations.
In both cases, following Gibbons (2000), we have to overcome the basic economic model of the firm, i.e. a black box with labor and physical inputs in one end and output on the other, operating under the hypothesis of minimum cost and maximum profit. Simulation models – such as jES – represent the most appropriate tool to be used in this direction.
[1] Download last version from http://web.econ.unito.it/terna/jes
April 13-15, 2003 SwarmFest, Notre Dame 6
over
view
2
Overview 2/2
Agents, in jES, are objects like the orders to be produced and the production units able to deal with the orders. In the same context, there are also agents representing the decision nodes, where rules and algorithms (like GA or CS), or avatars[1] of actual people, act. In the case of avatars, decisions are taken asking actual people what to do: in this way we can simulate the effects of actual choices; we can also use the simulator as a training tool and, simultaneously, as a way to run economic experiments to understand how people behave and decide in organizations. This is the big Simon’s (1997) question.
Some recent improvements of jES are outlined in the presentation.
[1] From www.babylon.com: s. avatar (Hindu mythology) earthly incarnation of a god, human embodiment of a deity; (Internet) online image that represents a user in chat rooms or in a virtual “space”.
April 13-15, 2003 SwarmFest, Notre Dame 7
_jE
S p
rinc
iple
s
_______________________________________
jES principles
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 8
jES
pri
ncip
les
1
The goals
With the simulator we want to reproduce in a detailed way the behavior of a firm into a computer. The basis of the method has to be found into agent based simulation techniques, i.e. the reconstruction of a phenomenon via the action and interaction of minded or no minded agents within a specific environment, with its rules and characteristics.
In our cases, we have both no minded agents - as things to be done (orders) or units able to work with them - and minded - as the agents who have to express decisions within the model -.
Simulating a single enterprise or a system of enterprises (e.g. within a district or within a virtual enterprise system) we can apply in a direct way the ‘what if’ analysis introducing changes into the simulation, while fully preserving the complexity of our context.
jES principles 1/3
April 13-15, 2003 SwarmFest, Notre Dame 9
jES
pri
ncip
les
2
Why agents and what kind of tool?
Only in a true agent based context, with independent pieces of software expressing the different behavior of all the components of our environment (a firm), we can overtake the traditional limitation of models founded on equations (differential equations or recursive ones) where the granularity of the description is strongly compelled by the limitations of the method.
We are interested in using a plurality of tools, with Swarm at the first place, to build our models. We must also interact in a correct way with actual enterprise’s data and for that we want to develop easy to use interfaces based on the XML formalism.
jES principles 2/3
April 13-15, 2003 SwarmFest, Notre Dame 10
jES
pri
ncip
les
3
Perspectives and results
Perspectives and results of our models are along three directions.
Enterprise optimization, also via soft computing tools as genetic algorithms and classifier systems, and what-if analysis: when we use a genetic algorithm or a classifier system in a simulation framework, the fitness of the evolved genotype or the evolved rules is evaluated running the simulator.
Interaction between people and the model, through artificial agents representing the actual ones, with two purposes: to study how people behave in organizations, with experiments build using the simulator; to train people about the consequences of their decision within an organization.
Theoretical analysis of “would be” situations of enterprises and their interactions, to increase the knowledge about how firms start, behave and decline.
jES principles 3/3
April 13-15, 2003 SwarmFest, Notre Dame 11
_WD
, D
W, W
DW
_______________________________________
WD, DW, WDW
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 12
WD
, D
W, W
DW
WD side or formalism: What to Do
DW side or formalism: which is Doing What
WDW formalism: When Doing What
April 13-15, 2003 SwarmFest, Notre Dame 13
dict
iona
ry
unit = a productive structure within or outside our enterprise; a unit is able to perform one or more of the steps required to accomplish an order
order = the object representing a good to be produced; an order contains technical information (the recipe describing the production steps) and accounting data
recipe = a sequence of steps to be executed to produce a good
A dictionary
April 13-15, 2003 SwarmFest, Notre Dame 14
_DW
: a f
lexi
ble
sche
me _______________________________________
DW: a flexible scheme
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 15
DW
: a f
lexi
ble
sche
me
1
2
1
3
2
1
3
1
5
3
1,3,4
1,2,5
Uni
ts …
DW
April 13-15, 2003 SwarmFest, Notre Dame 16
DW
: a f
lexi
ble
sche
me
2
2
1
3
2
1
3
1
5
3
1,3,4
1,2,5
Uni
ts an
d Fi
rms …
DW
April 13-15, 2003 SwarmFest, Notre Dame 17
DW
: a f
lexi
ble
sche
me
3
2
1
3
2
1
3
1
5
3
1,3,4
1,2,5
… in
a di
stric
t …
DW
April 13-15, 2003 SwarmFest, Notre Dame 18
DW
: a f
lexi
ble
sche
me
4
2
1
3
2
1
3
1
5
3
1,3,4
1,2,5
… o
r bui
ldin
g up
a
virtu
al en
terp
rise
The NIIIP project (National Industrial Information Infrastructure Protocols )
http://www.niiip.org/
DW
April 13-15, 2003 SwarmFest, Notre Dame 19
_WD
: rec
ipes
_______________________________________
WD: recipes
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 20
WD
: rec
ipes
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
WD
April 13-15, 2003 SwarmFest, Notre Dame 21
_a s
impl
e ex
ampl
e w
ith
WD
, DW
and
WD
W
_______________________________________
A simple example with WD, DW and WDW
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 22
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 0
the recipes
DW
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=0
100100100101
Building a sequential batch
April 13-15, 2003 SwarmFest, Notre Dame 23
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 1
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=1
100100100101
Sequential batch step 1/3
DW
April 13-15, 2003 SwarmFest, Notre Dame 24
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 2
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=2
100100100101
Sequential batch step 2/3
DW
April 13-15, 2003 SwarmFest, Notre Dame 25
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 3
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=3
101
100100100
DW
April 13-15, 2003 SwarmFest, Notre Dame 26
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 4
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=4
100
100100101
DW
April 13-15, 2003 SwarmFest, Notre Dame 27
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 5
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=5
100100
100101
DW
April 13-15, 2003 SwarmFest, Notre Dame 28
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 6
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=6
100100100101
Building a sequential batch
DW
April 13-15, 2003 SwarmFest, Notre Dame 29
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 7
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=7
100100100101
Sequential batch step 1/2
DW
April 13-15, 2003 SwarmFest, Notre Dame 30
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 8
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=8
100101
100DW
April 13-15, 2003 SwarmFest, Notre Dame 31
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 9
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=9
100101
100DW
April 13-15, 2003 SwarmFest, Notre Dame 32
1 2
10
3
a production unit
an end unit
a si
mpl
e ex
ampl
e 10
the recipesWD
1 100 * 3 101 * 1 ;
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
1 ;WDW
the starting sequence
the continuous sequence (empty)
t=10
100
100DW
April 13-15, 2003 SwarmFest, Notre Dame 33
_a c
ompl
ex e
xam
ple:
the
VIR
cas
e
_______________________________________
A complex example: the VIR case
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 34
VIR
1VIR (a firm producing valves, to regulate the flow of liquids and gas)
Basic case (with unitCriterion=2)
April 13-15, 2003 SwarmFest, Notre Dame 35
VIR
2VIR
Adding 3 complex units in the lathe sector
April 13-15, 2003 SwarmFest, Notre Dame 36
_the
dec
isio
n pr
oces
s
_______________________________________
The decision process
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 37
deci
sion
pro
cess
1
2
1
3
2
1
3
1
5
3
1,3,4
1,2,5
How
to d
ecid
e?
April 13-15, 2003 SwarmFest, Notre Dame 38
deci
sion
pro
cess
2 How
to d
ecid
e?
• In a random way
• Using fixed rules
• Using an expert system
• Via soft computing techniques (GA & CS)
• Asking to an actual agent what to do (training and monitoring actual agents’ behavior)
April 13-15, 2003 SwarmFest, Notre Dame 39
_new
tool
s: r
ecip
es a
nd la
yers
, com
puta
tion
al o
bjec
ts
_______________________________________
New tools: recipes and layers, computational objects
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 40
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
reci
pes
and
laye
rs
# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;# Recipes ;
recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;
recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;
Recipes and layers
April 13-15, 2003 SwarmFest, Notre Dame 41
com
puta
tion
al o
bjec
ts 1
Memory matrixes data are reported in a text file (unitData/memoryMatrixes.txt)
number(from_0_ordered;_negative_if_insensitive_to_layers)_rows_cols
0 2 3
-1 3 5
2 4 1
3 3 1
Mandatory first line
Computational objects
April 13-15, 2003 SwarmFest, Notre Dame 42
com
puta
tion
al o
bjec
ts 2
Recipes with computations (recipes are reported in external and intermediate format)
External format (remember: step, time specification, time):
1 s 1 c 1999 3 0 1 3 2 s 2 3 s 2
1 s 1 c 1998 1 0 5 s 2
1 s 1 c 1998 1 1 6 s 2
1 s 1 c 1998 1 3 7 s 2
time specification: seconds
time in seconds
step in recipe a step with computation: step 2, requiring 2
seconds, involve computation 1999 with 3 matrixes (those numbered 0, 1, 3 in the previous Figure)
a step with computation: step 7, requiring 2 seconds, involve computation 1998 with 1 matrix (that numbered 3 in the previous Figure)
Computational objects
April 13-15, 2003 SwarmFest, Notre Dame 43
com
puta
tion
al o
bjec
ts 3
The Java Swarm code used by the recipes with computations of this example
/** computational operations with code -1998 (a code for the checking * phase of the program) * * this computational code place a number in position 0,0 of the * unique received matrix and set the status to done */ public void c1998(){
mm0=(MemoryMatrix) pendingComputationalSpecificationSet. getMemoryMatrixAddress(0);layer=pendingComputationalSpecificationSet. getOrderLayer();
mm0.setValue(layer,0,0,1.0);mm0.print();
done=true; } // end c1998
Computational objects
April 13-15, 2003 SwarmFest, Notre Dame 44
_oth
er to
ols
_______________________________________
Other tools
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 45
othe
r to
ols
Other tools:
Stand alone batches
Procurements (as seen above)
Parallel paths (AND formalism)
Multiple paths (OR formalism)
April 13-15, 2003 SwarmFest, Notre Dame 46
_ref
eren
ces
_______________________________________
References
_______________________________________
April 13-15, 2003 SwarmFest, Notre Dame 47
refe
renc
es
References
Burt R.S. (1992), Structural Holes – The Social Structure of Competition. Cambridge, MA, Harvard University Press.
Gibbons R. (2000), Why Organizations Are Such a Mess (and What an Economist Might Do About It). A draft of the first Charter is at http://web.mit.edu/rgibbons/www/
Simon H.A. (1997), Administrative Behavior: A Study of Decision-Making Processes in Administrative Organizations. Simon & Schuster, New York.
Walker G., Kogut B., Shan W. (1997), Social Capital, Structural Holes and the Formation of an Industry Network, in Organization Science. Vol. 8, No. 2, pp.109-25.
April 13-15, 2003 SwarmFest, Notre Dame 48
addr
ess
agai
n
web.econ.unito.it/terna
web.econ.unito.it/terna/jes