• Non ci sono risultati.

Un caso applicativo: un modello ABM della mobilità sistematica

5.3 Una descrizione formale: il protocollo ODD (e l’imple mentazione in NetLogo)

5.3.2 Design concepts

1. basic PrinciPles

Il modello è costruito a partire dalla considerazione congiunta di due approcci allo studio dei fenomeni sociali ed economici: l’Economia della Complessità e la Sociologia Analitica. Differenti per l’oggetto e la finalità dell’indagine, queste prospettive di osservazione hanno in comune il porre al centro del loro quadro di riferimento teorico l’interazione tra i livelli micro e macro dei fenomeni socio-e- conomici ed in particolare la derivazione, non in maniera lineare e additiva ma attraverso meccanismi interazionali complessi, dei fenomeni aggregati a partire dalle relazioni semplici tra componenti micro elementari.

Da questi approcci sono stati derivati i riferimenti concettuali fondamentali per la progettazione e implementazione del modello:

Descrizione Implementazione nel modello

eterog

eneità

I fenomeni sociali sono caratterizzati da interazio- ni eterogenee tra agenti individuali eterogenei per attributi e regole di com-

portamento. L’ eterogeneità delle inte-

razioni consiste sia nella diversità delle interazioni

tra agenti ad uno stesso livello di scala, sia nelle interazioni tra i diversi

livelli di scala

- le imprese si differenziano per localiz- zazione, dimensione, dotazione economica, strategia competitiva, prezzi e salari offerti. Si individuano 9 tipi di impresa in base alle stragie di pianificazione e produzione della produzione

- le forze di lavoro si differenziano per resi- denza, posizione occupazionale, patrimonio e schemi di preferenza nella scelta delle alterna- tive di impiego

- le zone si differenziano per numerosità delle imprese, popolazione residente e occupata - le interazioni sono dirette e indirette - dirette tra imprese e forze di lavoro sul Mer-

cato del Lavoro e sul Mercato dei Beni - indirette tra imprese e forze di lavoro che

attingono, interagendo a livello meso, alle in- formazioni utili per la ricerca di lavoro

razionalità lim

ita

ta

Gli agenti indviduali orientano la propria azione formulando scelte

e aspettative sulla base di informazioni incerte, ovvero limitate ai com- ponenti del sistema a loro

più prossimi (partner nelle interazioni, zona di

insediamento)

Sul mercato del Lavoro:

- le forze di lavoro scelgono le alternative occu- pazionali sulla base di informazioni imprecise aggregate a livello di zona e solo al momento di candidarsi presso un’impresa scoprono il salario effettivo

- le imprese offrono un salario sulla base del salario del periodo precedente, corretto per evitare la bancarotta secondo aspettative for- mulate senza informazioni certe sui possibili prezzi e quindi sul fatturato dell’anno Sul Mercato dei Beni:

- le forze di lavoro scoprono il prezzo dei beni solo al momento dell’acquisto

- le imprese fissano un prezzo sulla base del prezzo medio del periodo precedente applicando un coefficiente individuale di cor- rezione casuale (rischio)

Tabella 6. – Gli elementi base del framework concrttuale del modello

2. emergence

I fenomeni osservati a livello macro (produzione, occupazione e disoccupazione, flussi di mobilità) risultano dall’aggregazione dei valori osservati a livello micro. Se l’aggregazione è ottenuta attraverso la semplice somma, la determinazione dei valori a livello micro deriva in maniera non prevedibile dalle interazioni multiple e eterogenee tra agenti eterogenei. Tutti i fenomeni aggregati possono quindi dirsi emergenti dal livello micro.

A titolo di esempio:

- il valore totale della produzione dipende dall’aggregazione dei valori indi- viduali delle imprese, determinati dalla vendita a prezzi stabiliti in base alla casualità della correzione causale applicata;

- il livello di occupazione/disoccupazione dipende dal matching tra imprese e lavoratori che applicano schemi eterogenei di preferenza per la loco col- locazione;

- gli spostamenti individuali casa-lavoro dipendono dall’eventualità dell’incon- tro tra la domanda del lavoratore e il bisogno dell’impresa in base a strategie che evolvono nel tempo con il modificarsi dell’intero contesto di azione ( e delle informazioni su di esso disponibili agli agenti).

3. adaPtation

Gli agenti si adattano continuamente, di periodo in periodo, alle modifiche che intervengono nell’ambiente formulando e riformulando aspettative e decisioni in base all’evoluzione complessiva del contesto e alla propria esperienza.

influenzate anche le procedure di scelta.

Le forze di lavoro occupate nel cercare alternative di occupazione scelgono aree di interesse in base alle statistiche meso delle aree calcolate sui periodi precedenti. Se hanno bilancio in negativo riducono la quota di consumo rispetto a quella del periodo precedente in maniera cumulativa (fino a una certa soglia).

Le imprese prevedono il proprio bilancio futuro e aggiustano l’offerta di salario per evitare bancarotta sulla base dei salari precedenti e delle aspettative di prezzo formulate sui periodi precedenti.

Il prezzo medio dell’economia, base per la formulazione dei prezzi delle imprese, è calcolato sulla base delle quantità prodotte al periodo precedente e del valore totale della produzione realizzata al periodo corrente.

4. objectiVes

Obiettivo dell’impresa è rimanere in vita. Non esistono strategie di massimizza- zione del profitto ma solo di aggiustamento dei costi di produzione (salari pagati) per evitare la bancarotta (che non viene comunque scongiurata dal momento che le previsioni sono formulate ad un prezzo di mercato che potrebbe rivelarsi errato, vedi pt1, Basic Principles). Obiettivo delle forze di lavoro occupate è di riuscire a trovare impieghi più soddisfacenti (in base al proprio schema di prefe- renza) rispetto all’impiego corrente (se ne esistono).

Obiettivo di tutte le forze di lavoro in quanto consumatori è quello di soddisfare le proprie esigenze di consumo senza generare un bilancio negativo di fine perio- do. Per far questo possono aggiustare il livello di consumo.

5. learning

Allo stadio di sviluppo del modello non sono previsti per gli agenti micro dei processi di vero apprendimento, nel senso di acquisizione ed elaborazione di informazione dall’esperienza o da altri agenti per modificare le proprie strategie e regole di comportamento futuro.

6 Prediction

Le imprese formulano aspettative semplici rispetto alle proprie scelte e orientano il proprio comportamento per evitare conseguenze indesiderate.

Al momento di decidere il salario da offrire formulano aspettative di bilancio considerando l’andamento del mercato (ai prezzi del periodo precedente) e i costi di produzione (totale salari) e aggiustano con un processo reiterativo il salario offerto fino al livello che permette loro di non fallire.

;;calcolano il salario atteso sulla base del costo ;;produzione al periodo precedente

let salary_e clup * (qEstimated / workersNeeded)

;; calcolano posizione finanziaria applicando il nuovo salario let production_cost_e salary_e * count workers

to setup-glolet financial_position_e equity - production_cost_e ifelse financial_position_e > 0

[set selfFinancing_e 1] [set selfFinancing_e -1]

let financial_flow_ent_e (0.5 * (1 + selfFinancing_e) + interestRa- te) * financial_position_e

;;formulano aspettative sui profitti appliacndo il nuovo ;;salario let price_e P_t

let y_e price_e * qEstimated

let profit_e (y_e - production_cost_e) ;;e infine chiudono il bilancio atteso

let equity_e ( equity + profit_e + financial_flow_ent_e ) ifelse equity_e > 0

[set operating_e 1] [set operating_e -1]

;;se rischiano la bancarotta avviano un processo iterativo ;;di riduzione del salario atteso (con decremento 0.01 %) ;;riforumal- ndo le attese rimangono operative

if operating_e = -1 [set salaryDelta 0.01 while [ equity_e <= 0 ] [

set salary_e salary_e * ( 1 - salaryDelta) set production_cost_e salary_e * count workers

set financial_position_e equity - production_cost_e ifelse finan- cial_position_e > 0

[set selfFinancing_e 1] [set selfFinancing_e -1]

set financial_flow_ent_e (0.5 * (1+selfFinancing_e) + interestRate) * financial_position_e

set equity_e ( equity + (y_e - (salary_e * count workers)) + fi- nancial_flow_ent_e ) set salaryDelta salaryDelta + 0.01]]

;;Infine, il salario atteso così corretto viene ;;effettivamente offerto sul mercato

set salary salary_e

7 sensing

Gli agenti del modello percepiscono l’ambiente attraverso l’accesso a informa- zioni.

In linea generale, sotto l’ipotesi di razionalità limitata, sono pubbliche le informa- zioni aggregate a livello meso e macro ma sono private (e quindi inaccessibili) tut- te le informazioni che descrivono il profilo del singolo agente micro. Le decisioni dovranno quindi essere prese in condizioni di asimmetria informativa.

Sono informazioni private delle forze di lavoro le scelte in tema di alternativa di impiego; Sono informazioni private delle imprese il prezzo e il salario offerto, lo stato patrimoniale e finanziario, la dimensione e il fatturato. Alcune di queste diventano accessibili al ‘partner’ nel momento dell’interazione diretta (es. il lavo- ratore saprà il salario e il consumatore il prezzo offerto dall’impresa...)

Per i propri processi decisionali gli agenti possono accedere alle seguenti infor- mazioni pubbliche:

· a livello meso

- sicurezza (S), in termini di fagilità finanziaria (imprese indebitate sul totale delle imprese) e solidità del sistema (imprese fallite sul totale delle imprese) - remunerazione (R), intesa come media dei salari offerti dalle imprese della

zona

- distanza (D), dalla zona di residenza al posto di lavoro.

- tassi di occupazione e disoccupazione produzione e fatturato lordo

· a livello macro, tutte le statistiche relative alle variabili macroeconomiche (oc- cupati, disoccupati, produzione e fatturato, numero di imprese e trend dei mercati), ai prezzi medi e ai parametri da considerare nella formulazione di aspettative (tassi di interesse..)

8 interaction

Le interazioni nel modello sono molte ed eterogenee. Si possono infatti osser- vare come dinamiche tra agenti, tra gli agenti e l’ambiente e tra i diversi livelli di scala e possono essere interazioni dirette o indirette.

Tra lavoratori e imprese c’è interazione diretta

· sul Mercato del Lavoro, nell’incontro tra domanda e offerta individuale e nel riconoscimento di un salario da parte dell’impresa

;;Le imprese aggiornano la propria lista di candidati ;;prove- nienti da altre imprese

ask enterprises

[set workersApplicants laborforces with [target1 = myself or tar- get2 = myself]

;;quindi, decidono di assumere o licenziare (con le procedure hi- ring-/firing-workers in base alla stima sul fabbisogno di addetti definita in fase di programmazione

ifelse workersDemand > 0

[set hiring 1 hiring_workers abs(workersDemand)] [set hiring -1 fireing-workers abs(workersDemand)]

· sul Mercato dei Beni, nell’incontro tra domanda e offerta individuale e nel pagamento di un prezzo da parte della forza di lavoro-consumatore

to sell-purchase

;; le imprese stabiliscono quantità e prezzo di vendita ask enterprises

[

set qToBeSelled qEstimated set qSelled 0 set y_t-1 y set y 0

let u1 0 set u1 2 - u0

set u u0 + random-float (u1 - u0) set price u * P_t+1]

;; e viene calcolara una quota media di domanda necessaria per esaurire la produzione

set qToBePurchasedTotal sum [qToBeSelled] of enterprises set qToBePurchased qToBePurchasedTotal / count laborforces

;;I lavoratori acquistano a caso dale imprese fino a ;; esaurimento della propria domanda di bene

ask laborforces [ …

while [qPurchased < realqToBePurchased] [

set myqToBePurchased realqToBePurchased - qPurchased let ent_ sellers enterprises with [qToBeSelled > 0]

ifelse any? ent_sellers [

let ent_seller one-of ent_sellers

ifelse myqToBePurchased <= [qToBeSelled] of ent_seller [

set qPurchased qPurchased + myqToBePurchased let ent_price [price] of ent_seller

;; le imprese riducono la quantità da vendere in bae agli ;; acquisti dei consumatori

ask ent_seller [

set qToBeSelled qToBeSelled [myqToBePurchased] of myself set qSelled qSelled + [myqToBePurchased] of myself

set y y + ([myqToBePurchased] of myself * price) ] ]

;;Al termine delle interazioni sul mercato del lavoro si ;;ag- giornano tutte le variabili globali di produzione, PIL e ;; prezzi set totY_t-1 totY_t

set totY_t sum [y] of enterprises set P_t P_t+1 set P_t+1 totY_t / qEstimatedTotal_t end

Vi è infine interazione indiretta nella ricerca di alternative lavorative per le forze di lavoro in quanto le scelte sono operate sulla base di informazioni reperite a livello di zona.

L’interazione tra i livelli è connaturata alla natura del modello. I fenomeni os- servati a livello meso (su cui si basano gli schemi di preferenza dei lavoratori) e macro (su cui si basano le politiche dei prezzi delle imprese) condizionano i comportamenti individuali che a loro volta determinano gli stessi contesti meso e macro.

9 stochasticity

Il modello prevede l’utilizzo di processi stocastici con estrazione casuale da distribuzione uniforme (in genere all’interno di range stabiliti) in vari momenti dello scheduling:

a. in fase di inizializzazione vengono assegnati casualmente nu- mero di aree geografiche, numero di imprese, addetti, occupati e disoccupati per area, patrimonio netto alle imprese e patri- monio alle famiglie, strategie di impresa per programmazione e produzione4

to born-enterprises-rand

set settlement patch-here set size 1 set theta_1_0 one-of theta_1_0_list set theta_2_0 one-of theta_2_0_list let i 0

ifelse i < 0.85

[set equity precision (4 + random-float 3) 2] [set equity preci- sion (7 + random-float 2.2) 2 ]

set qEstimated precision (scalingProg * (equity ^ (elasticityProg ^ theta_1_0))) 4 set nWorkers ceiling((qEstimated / scalingProd) ^ ((1 / elasticityProd )^ theta_2_0))

ifelse nWorkers < 50

[set salary equity * 0.031647646] [ifelse nWorkers < 100 [ set salary equity * 0.007070202] [ifelse nWOrkers < 250

[ set salary equity * 0.003426548 ] [ set salary equity * 0.001358794 ]

] ]

b. ricerca di impiego alternativo da parte delle forze di lavoro, fase in cui è prevista attribuzione casuale di uno schema di preferenza

;;; si crea una lista (globale) di schemi di preferenza possibile combinando Distanza (D), Sicurezza (S) e Retribuzione (R), medie calcolate a livello di area

set laborforcePreferenceSchemes [“SRD” “SDR” “DSR” “DRS” “RDS” “RSD”]

;; si assegna a ciascuna forza di lavoro uno schema a caso tra i precedenti

set myPreferenceScheme one-of laborforcePreferenceSchemes

e scelta casuale delle imprese cui inoltrare la candidatura

;; per ciscuna delle aree scelte in base al proprio schema di preferenza le forze di lavoro inviano una candidatura a due im- prese a caso della zona

foreach zonesByPreference [

if myPreferenceScheme = item 0 ? [carefully [set myTargetAreas (list item 1 ? item 2 ? )

set target1 one-of enterprises with[settlement = item 1 ?] set target2 one-of enterprises with[settlement = item 2 ?] ]

[set myTargetAreas (list item 1 ? )

set target1 one-of enterprises with[settlement = item 1 ?] set target2 0]

] ]

c. prezzo di offerta da parte dell’impresa deriva dall’applicazione di uno shock idiosincratico casuale al prezzo medio dell’eco- nomia

mente una strategia di pianificazione e produzione (theta) e un patrimonio, estratto da una distri- buzione uniforme rrisclata secondo le statistiche di bilancio prese da AIDA per classi dimensionali.

;; imprese calcolano il proprio prezzo di offerta applican- do uno shock idiosincratico risultante dall’estrazione da una distribuzione uniforme tra un minimo u0 stabilito da slider in interfaccia e un massimo u1 derivato da u0

let u1 0 set u1 2 - u0

set u u0 + random-float (u1 - u0) set price u * P_t+1

d. tutte le operazioni di scelta infine (assunzione, licenziamento, impresa fornitrice dei beni di consumo) sono scelte casuali ope- rate dagli agenti.

10 collectiVes

Nel modello non sono presenti gruppi di agenti intesi come collettivi dotati di proprietà e regole di comportamento. Le zone meso sono mere aggregazioni ge- ografiche ovvero insiemi e non gruppi nel senso di entità in grado di condiziona- re attraverso regole di identificazione, vincoli e opportunità l’azione degli agenti. 11 obserVation

La simulazione viene controllata mantenendo sotto osservazione per ogni pe- riodo t della simulazione alcune variabili a livello meso e macro. La variabile che rappresenta l’ouput di interesse del modello è la matrice OD dei flussi aggregati interzonali (uscita e entrata dalle zone ) e intrazonali (autocontenimento) origina- ta dall’aggregazione a livello di area meso degli spostamenti individuali entranti, uscenti e autocontenuti nell’area.

;; Per ciascuna delle aree vengono calcolati i flussi ;; entranti (con le origini), I flussi uscenti (con le ;; destinazioni) ed il totale degli entrant e uscenti che ;; può ragionevolmente intendersi funzionalità e come misura ;; dell’intensità di relazione tra due aree

foreach areas[ ask ?[

foreach areas [

let in count laborforces with [residence = ? and destination = myself] set inFlows lput (list ? in ) inFlows

let out count laborforces with [destination = ? and residence = myself] set outFLows lput (list ? out ) outFlows

let inout in + out

set inoutFlows lput (list ? inout) inoutFlows

set inoutFlows sort-by [last ?1 > last ?2] inoutFlows ]

;;Dopo aver computato le variabili descrittive dei flussi e ;;aver ordinate le aree in base all’intensità del flusso ;;totale, ogni area crea un link con l’area con cui ha la ;;relazione più inten- sa, attraverso l’utilizzo dell’agente ;;strumentale admin let end_list item 0 inoutFLows let end_patch item 0 end_list

let end_flow one-of admins-on end_patch ask admins-here [carefully [create-link-with end_flow] [stop]]

5.3.3 Details

1.initialization

Il modello è inizializzato in base all’attribuzione casuale delle variabili descrittive dello spazio geografico e degli attributi degli agenti individuali (si veda 9.Stocha- sticity).

2. inPut data

Non è prevista l’acquisizione esterna di informazioni e dati come elementi costitutivi del contesto nel corso della simulazione né scambi di dati con altre applicazioni.

3. submodels

Il modello si compone di una serie di blocchi procedurali, o sub-models, che si distinguono per una chiara caratterizzazione funzionale all’interno del flusso di processo globale. Questa distinzione e scomposizione deriva dalla preliminare analisi di processo che ha consentito di mettere a punto anche i diagrammi di flusso riportati nell’Overview.

Lo schema funzionale del modello è stato quindi scomposto in problemi spe- cifici per la cui soluzione sono state messe a punto separatamente le procedure (o blocchi di codice). Dopo averne testato il funzionamento, le procedure sono state integrate in un unico codice attraverso una struttura di chiamate recipro- che. Questo modo di procedere per scomposizione-ricomposizione, ampiamente adottato in ambiente di sviluppo, porta ad isolare i punti nodali del processo che si vuole implementare per facilitarne la gestione. Dal punto di vista tecnico, questo approccio si risolve in una facilitazione nelle operazioni di sviluppo e de- bugging del codice mentre dal punto di vista della comprensione e trasferibilità del codice consente una fruizione più strutturata e logica.

La tabella 7 riporta i principali submodels implementati nel modello5

Submodel Obiettivo

sell-purchase

Consente le transazioni commerciali tra imprese (che vendono) e forze di lavoro (che acquistano). Le imprese in particolare, dopo aver fissato un prezzo di offerta, vendono la quantità di bene prodotta nel periodo precedente e realizzano il proprio ricavo.

budgeting

Calcola i bilanci di forze lavoro e imprese al termine delle transa- zioni. In caso di bilancio negativo, le imprese falliscono, le forze di lavoro correggono al ribasso i loro consumi ma, se si trovano in condizione di disoccupazione, escono dal mercato del lavoro (i.e. dalla simulazione).

order-areas-by-preference-schemes

Genera per ogni area geografica una lista con i 6 schemi di preferen- za (derivati dalla combinazione di Distanza, Sicurezza e Retribuzio- ne) e, per cisacuno, le due aree più attrattive.

La lista sarà di accesso riservato ai lavoratori occupati dell’area che in base al proprio schema di preferenza selezioneranno le due aree più attrative e invieranno richiesta di assunzione a due imprese enterprises-demography Aggiustare la demografia di impresa ovvero elimina dalla simulazio-ne le imprese fallite e genera nuove imprese secondo una distribu-

zione binomiale planning_production_workers-de-

mand

Le imprese programmano la produzione e stimano il relativo fabbi- sogno di addetti con la consueguente apertura/chiudsura di posizio- ni sul mercato del lavoro. Nel calcolo del fabbisogno rientra anche la cosiderazione della quota di addetti che ricerca alternative di impiego sulla base di individuali schemi di preferenza.

hire-fire

Risolve il matching domanda/offerta di lavoro in modo che le im- prese possano soddisfare il proprio fabbisogno di addetti definito in fase di programmazione e i lavoratori occupati in cerca di alter- native possano ricollocarsi sul mercato (prevede deu sottprocedure hiring-workers e firing-workers)

salary-adjustment Consente alle imprese, attraverso un meccanismo di aggiustamenti e aspettative, di individuare il salario sostenibile per evitare la ban- carotta

assess-financial-position Fornisce alle imprese strumenti di valutazione della propria situazio- ne finanziaria in seguito all’anticipo dei salari

Tabella 7. – I submodels implementati nel modello.