1 / 87

Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna. Secondo semestre martedì 7.3 – jES e jESOF martedì 21.3 – ripresa tutorial martedì 11.4 – jESlet martedì 2.5 martedì 9.5. sempre dalle 17.30 alle 19; aula 31.

star
Download Presentation

Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Seminario su Swarm 2005-2006 Pietro Terna pietro.terna@unito.it web.econ.unito.it/terna Seminario Swarm 2005 2006

  2. Secondo semestre martedì 7.3 – jES e jESOF martedì 21.3 – ripresa tutorial martedì 11.4 – jESlet martedì 2.5 martedì 9.5 sempre dalle 17.30 alle 19; aula 31 Seminario Swarm 2005 2006

  3. “nostro” sito a http://eco83.econ.unito.it/swarm/ iscriversi alla mailing list seminarioswarm (vedi sopra per le istruzioni) inoltre è utile http://eco83.econ.unito.it/swarm/materiale/ questo file ppt e i successivi sono/saranno in linea a http://web.econ.unito.it/terna/swarm/ questo è seminario_swarm05-06-20060307.ppt oppure .pdf Seminario Swarm 2005 2006

  4. NUOVOStarLogo TNG nuova versione di StarLogo a http://education.mit.edu/starlogo-tng/ con l’effetto “videogioco” e una programmazione semplificata a … tesserine Seminario Swarm 2005 2006

  5. jGRASP Da http://www.jgrasp.org ambiente plurilinguaggio con capacità UML Seminario Swarm 2005 2006

  6. jES • Simulazione ad agenti in contesti di impresa • jES • paper Simulazione ad agenti in contesti di impresa. Sistemi intelligenti, 1, XVI, pp.33-51, scaricabile da http://web.econ.unito.it/terna/publications.html (paper 2002b) • il codice (Swarm) del modello jES, con un HowTo esplicativo, sta a http://web.econ.unito.it/terna/jes/ (scegliere la versione con il numero più alto; il file .tar.gz contiene anche l'HowTo) Seminario Swarm 2005 2006

  7. the enterprise simulator Simulated enterprise, orders, “recipes” and units Our simulated enterprise has both orders to accomplish – each described by a “recipe” that contains “what to do” - and units that perform the different steps of the production process Units can be within the firm or outside: (i) constituting other complex enterprises or (ii) standing alone as small business actors Seminario Swarm 2005 2006

  8. Figure 1 Recipes and production units A system of enterprises and micro productive units (a swarm) market Enterprise front end 1-2 2-13 8-28-27-7 ... recipes units FE 8 7 FE our jES (a swarm of units) 28 7 27 Seminario Swarm 2005 2006

  9. Recipes on move Figure 2 8-28-27-7 we have the phases a, b, c, then in x we have a choice problem a units FE 8 b 7 FE ? 28 c ? x 7 27 The orders are placed in the unit waiting lists and executed according to the FIFO criterion Seminario Swarm 2005 2006

  10. running jES Running jES: WD & DW The core of the model is the clear separation between the order recipes (WD side: What to Do) and the operating units (DW side:whichisDoingWhat) WD and DW are completelyindependent, in formalism and in code. So, runningthemodel, we check the consistency of the two sides, as in the actualworld, where the output of an enterprise arises from a complex interaction among products and production tools Recipes have also to describe internalparallelproductionpaths and include assemblysteps, where the typical procurement problems of a supplychain can be tested Seminario Swarm 2005 2006

  11. jES in action Seminario Swarm 2005 2006

  12. WD WD WD: What to Do Seminario Swarm 2005 2006

  13. Figure 3 Basic recipe WD The basic recipe in an order is structured as follows: step in recipe time quantity measured in days, hours, seconds n1 ts m1 n2 ts m2 n3 ts m3 n4 ts m4 . . . time specification: days, hours, seconds Seminario Swarm 2005 2006

  14. Sequential batch a sequential batch in a recipe repeats, in a given time interval, b times the production of the same step of the recipes of b orders (the unit doing step n3 has obviously to hang around until it has b similar order in its waiting list to start the batch; while waiting, it can be working on other batches) Figure 4 WD step in recipe time quantity measured in days, hours, seconds n1 ts m1 n2 ts m2 n3 ts m3 \ b3 n4 ts b4 time specification: days, hours, seconds the backslash is followed by the number of production steps to be repeated in the given time interval: in a sequential batch production of b pieces, the time necessary for the production of each piece is measured by the fraction m/b Seminario Swarm 2005 2006

  15. Stand alone batch a stand alone batch repeats, in a given time interval, b times the production of the same unique step of the recipes of b orders; this kind of batch production is useful to simulate orders without details, as external procurements (a sort of black box for us) Figure 5 WD step in recipe time quantity measured in days, hours, seconds n1 ts m1 / b1 (no other steps) time specification: days, hours, seconds the slash is followed by the number of production steps to be repeated in the given time interval: in a sequential batch production of b pieces, the time necessary for the production of each piece is measured by the fraction m/b Seminario Swarm 2005 2006

  16. Procurement Figure 6 8-28-27-7 WD units FE 8 121 7 34 28 ... 27 73 Deepening recipes to account for procurement processes 8-121-34-73-28-27-7 Seminario Swarm 2005 2006

  17. Procurements or components produced by ourselves Figure 7 WD Procurements: we order some components (here c1, c2, c3) from other suppliers; our management has to take into account the time necessary to have the order performed, to make the transport, etc. e stands for end n1 ts m1 e c1 n2 ts m2 / b2 e c2 n3 ts m3 / b3 e c3 n41 ts m41 n42 ts m42 \ b42 e c4 n51 ts m51 e c5 Internally produced components: we produce inside our plant the other components (here c4, c5, c6); our management has to take into account the time necessary to perform these internal orders n61 ts m61 / b61 e c6 Seminario Swarm 2005 2006

  18. DW DW DW:whichisDoingWhat Seminario Swarm 2005 2006

  19. Simple production unit data are reported in a text file (unitData/unitBasicData.txt) Figure 8 DW unit_#__useWarehouse____prod.phase_#____fixed_costs_____variable_costs 1 1 11 12 1 2 1 0 0 0 3 1 3 15 2 4 1 0 0 0 5 1 51 12 2 6 1 6 11 20 7 1 12 23 1 8 1 8 22 11 9 1 13 7 12 10 1 18 40 7 11 1 11 5 1 Seminario Swarm 2005 2006

  20. The general scheme, to be used as a remark page Figure 9 DW Seminario Swarm 2005 2006

  21. A specific complex unit Figure 10 DW Seminario Swarm 2005 2006

  22. End unit data are reported in a text file (unitData/endUnitList.txt) Figure 11 DW end_unit_#;_use_positive_code_for_layer_sensitive_end_unit;_negative_for_unsensitive;_do_not_duplicate_the_codes,_neither_with_a_different_sign -10001 -10002 -10003 10004 10005 10006 10007 10008 10009 10010 NB, all this in a unique line Seminario Swarm 2005 2006

  23. Figure 12 Using components (mainly, in assembly steps) DW p stands for procurement step in recipe n1 ts m1 p k c1 c2 . . . ck n2 ts m2 . . . after step n1 we have here a procurement phase (internal or external), looking for k components coded c1, c2, . . ., ck the production unit performing the successive step asks to a special object (the procurementAssembler) to check whether the internal or external units can send the components; if not, the production unit waits Seminario Swarm 2005 2006

  24. Procurement and internal produced components in a supply chain Figure 13 DW 10 s 3 11 s 300 \ 100 e 121 20 s 2000 / 1000 e 34 p 3 31 32 33 44 h 2 e 73 virtual or actual units keeping the completed procurement components in a warehouse Seminario Swarm 2005 2006

  25. Warehouses and inventories in stand alone production Figure 14 8-28-27-7 DW units ? FE 8 7 FE 28 7 ? 27 ? ? ? … how to decide? Seminario Swarm 2005 2006

  26. Knowledge management Figure 15 8-28-27-7 a micro–unit DW units News useful for … technically: objects FE 8 a macro–unit 7 ? ? FE ? ??? 28 ? ? 7 27 ? Sending or not the news: a problem of cooperation, routines, agreements … (the core of organization problems) ??? In external cooperation, which is the information receiver? The enterprise front end or directly a sub-unit? Seminario Swarm 2005 2006

  27. Figure 16 OR processes (multiple paths) in recipes after each step we can have multiple paths in our recipes, but only one of them is followed at a specific time n1 ts m1 n2 ts m2 n3 ts m3 n4 ts m4 or n22 ts m22 end we use here a C-like formalism (|| = or) n1 ts m1 || 1 n2 ts m2 n3 ts m3 || 2 n22 ts m22 || 0 n4 ts m4 where || 0 stands for the conclusion of the multiple paths Seminario Swarm 2005 2006

  28. Figure 17 Parallel paths in recipes after each step we can have also parallel paths in our recipes, all to be simultaneously executed at a specific time n1 ts m1 n2 ts m2 n3 ts m3 n4 ts m4 and n22 ts m22 end we use here a C-like formalism (&& = and) n1 ts m1 && 1 n2 ts m2 n3 ts m3 && 2 n22 ts m22 && 0 n4 ts m4 where && 0 stands for the conclusion of the multiple paths Seminario Swarm 2005 2006

  29. Memory matrixes data are reported in a text file (unitData/memoryMatrixes.txt) Figure 18 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 Seminario Swarm 2005 2006

  30. Recipes with computations (recipes are reported in external and intermediate format) time specification: seconds Figure 19 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 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) time in seconds a step with computation: step 7, requiring 2 seconds, involve computation 1998 with 1 matrix (that numbered 3 in the previous Figure) Intermediate format (remember: each step is repeated for each unit of time): 1 2 2 -1999 3 0 1 4 1000000002 3 3 1 5 5 -1998 1 0 1000000005 1 6 6 -1998 1 1 1000000006 1 7 7 -1998 1 3 1000000007 after automatic translation, in the intermediate format reports the computational processes with a trick (which can be modified, adopting an other translation in OrderDistiller): we imagine here that the computations require the time reported in their steps; so they are placed at the end of the time, followed by a 0 time step (at the intermediate format level, 0 time step are reported as ‘1000000000+step’ Seminario Swarm 2005 2006

  31. The Java Swarm code used by the recipes with computation of this example Figure 20 /** 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 Seminario Swarm 2005 2006

  32. The Java Swarm code used by the recipes with computation of this example Figure 21 /** computational operations with code -1999 (a code for the checking * phase of the program * * this computational code verifies position 0,0 of the three * received matrixes; only if these positions are all not empty * the code empties them and set the status to done */ public void c1999(){ mm0=(MemoryMatrix) pendingComputationalSpecificationSet. getMemoryMatrixAddress(0); mm1=(MemoryMatrix) pendingComputationalSpecificationSet. getMemoryMatrixAddress(1); mm2=(MemoryMatrix) pendingComputationalSpecificationSet. getMemoryMatrixAddress(2); layer=pendingComputationalSpecificationSet. getOrderLayer(); if(! (mm0.getEmpty(layer,0,0) || mm1.getEmpty(layer,0,0) || mm2.getEmpty(layer,0,0) ) ) { mm0.setEmpty(layer,0,0); mm1.setEmpty(layer,0,0); mm2.setEmpty(layer,0,0); done=true; } } // end c1999 Seminario Swarm 2005 2006

  33. Accounting capabilities Figure 22 8-28-27-7 production units cost accounting on the order side FE 8 7 differences ? FE 28 cost accounting on the unit side 7 27 … environmental accounting Seminario Swarm 2005 2006

  34. agenti Agenti? ordini, unità produttive … agenti che decidono algoritmi persone (rappresentate da un avatar) formazione conduzione di esperimenti simulazione di effetti Seminario Swarm 2005 2006

  35. _a simple example with WD, DW and WDW _______________________________________ A simple example with WD, DW and WDW _______________________________________ Seminario Swarm 2005 2006

  36. a simple example 0 the recipes WD the starting sequence WDW the continuous sequence (empty) t=0 100 100 100 101 Building a sequential batch DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  37. a simple example 1 the recipes WD the starting sequence WDW the continuous sequence (empty) t=1 100 100 100 101 Sequential batch step 1/3 DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  38. a simple example 2 the recipes WD the starting sequence WDW the continuous sequence (empty) t=2 100 100 100 101 Sequential batch step 2/3 DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  39. a simple example 3 the recipes WD the starting sequence WDW the continuous sequence (empty) t=3 101 100 100 100 DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  40. a simple example 4 the recipes WD the starting sequence WDW the continuous sequence (empty) t=4 100 100 100 101 DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  41. a simple example 5 the recipes WD the starting sequence WDW the continuous sequence (empty) t=5 100 100 100 101 Building a sequential batch DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  42. a simple example 6 the recipes WD the starting sequence WDW the continuous sequence (empty) t=6 100 100 100 101 Sequential batch step 1/3 DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  43. a simple example 7 the recipes WD the starting sequence WDW the continuous sequence (empty) t=7 100 100 100 101 Sequential batch step 2/3 DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  44. a simple example 8 the recipes WD the starting sequence WDW the continuous sequence (empty) t=8 100 101 100 DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  45. a simple example 9 the recipes WD the starting sequence WDW the continuous sequence (empty) t=9 100 101 100 DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  46. a simple example 10 the recipes WD the starting sequence WDW the continuous sequence (empty) t=10 100 100 DW 1 2 3 10 a production unit an end unit Seminario Swarm 2005 2006

  47. _Casi di applicazione _______________________________________ Casi di applicazione _______________________________________ Seminario Swarm 2005 2006

  48. applicazioni Applicazioni? a situazioni concrete (vere imprese) a sistemi di imprese allo studio delle decisioni nelle organizzazioni allo studio della formazione e trasformazione delle imprese ricette, unità; combinazioni di ricette, di unità; innovazione nelle ricette e nelle unità Seminario Swarm 2005 2006

  49. elenco Tessile – Penelope VIR BasicNet 118 Seminario Swarm 2005 2006

  50. Theoretical goals theoretical goals We have to choose where to ideally situate our enterprise simulations, on a continuum from the abstractness of spin glass models to the evidence and the involvement capability of a videogame (concreteness) Using a formal environment like that of jES we can: (i) investigate the entrepreneurship phenomenon, (ii) evaluate the ICT effects on firm organization and on the economy as a whole, (iii) simulate enterprise cases A journey from abstractness to concreteness, with some guidelines . . . and jES as a building block Seminario Swarm 2005 2006

More Related