Alessandra Pettavino

Simulation models for economics

Project work on

"Worker-firm interactions."

 

The applet requires Java 1.4.1 or higher. It will not run on Windows 95 or Mac OS 8 or 9. Mac users must have OS X 10.2.6 or higher and use a browser that supports Java 1.4. (Safari works, IE does not. Mac OS X comes with Safari. Open Safari and set it as your default web browser under Safari/Preferences/General.) On other operating systems, you may obtain the latest Java plugin from Sun's Java site.


powered by NetLogo

view/download model file: worker-firm_interactions.nlogo

WHAT IS IT?

The model describes the movements of two categories of agents:
- workers, moving to seek employment;
- firms, looking for workforce to be recruited.

Workers are divided into two groups (red_workers and white_workers) in relation to the different skills that they held.
Firms, also, are divided into two groups (red_firms and white_firms) in relation to the different skills that they search.

Workers and firms, with the same features, born divided in homogeneous groups, placed randomly in space.

Red workers aim to be employed by a red firm while white workers aim to be employed by a white firm.


HOW IT WORKS

The first procedure is SETUP, activated from its button in the interface, that generates:

- the green screen;

- the white workers’ group. The number of people is determined by the formula: (initial_white_firms * capacity_max + 0.5 * initial_red_firms * capacity_max);

- the red_workers’ group. The number of people is determined by the formula: (initial_red_firms * capacity_max + 0.5 * initial_white_firms * capacity_max);
This generates a number of workers that is not less than the jobs offered by the firms.

- the white firms group. The number is defined by the slyder initial_white_firms;
- the red firms group. The number is defined by the slyder initial_red_firms;

The four kinds of groups are placed randomly.

Workers are created with shape as "person"; size 1 and they have color white if they are “white workers” and red if they are “red workers”. Firms are created with shape as "factory", size 2.5 and they are white or red according to the skills that they are looking for.

Initially the workers’ variable “my_firm” is equal to -1 (it means that the worker is not employed).

Every firm has got the variable adaptation that is randomly defined between 0 e 1 during the setup procedure.

The second procedure is GO , which is activated from the button GO in the interface.

The procedure GO is made up of other procedures including MOVE-WORKERS and MOVE-FIRMS.

The second procedure is GO , which is activated from the button GO in the interface.

The procedure GO is made up of other procedures including MOVE-WORKERS and MOVE-FIRMS.

The instructions to MOVE-WORKERS are:
First of all a local variable, “a”, is defined randomly between 0 and 1.
Every unemployed white worker (with my_firm = -1) have to control in its area with radius equal to 4 if there are any white firms that are looking for workers. If the search is positive the worker copy his own ID number, represented by "who" which is a not negative number that identify each turtle, in my_firm, gets grey color and size 1.5. If no white firm has been found in his area, he controls if there are any red firms able to assume. If the search is positive the worker changes his own variable my_firm in the ID number (“who”) of the red firm found, gets blue color and size 1.5.
The same happens to the red workers that gets red + 3 color and size 1.5 if they find a job in a red firm and orange color and size 1.5 if they find a white firm able to assume them.

A white firm can assume a red worker only if its variable adaption if less than probability_adaptation defined by the user.

If no firm is founded by the worker, he moves randomly in the space looking for a job. He can move only if the local variable “a” is less than the value of the slyder probability_move_workers

Every employed worker has to control if his firm is already in his area with radius 4, if this doesn’t happen the worker lose his work, his variable my_firm changes in -1, the size in 1 and the color became white or red, as it was in the beginning with the setup procedure.

The instructions to MOVE-FIRMS are:
First of all a local variable, “a”, is defined randomly between 0 and 1.
Concurrently every white firm counts workers with their own variable “my_firm” equal to his own ID number “who”. This number defines the firm variable “employees”, noting that workers employed in a firm with a different color take a weight of 0.5 in this score, while workers employed correctly weights 0,5.

If "a" is less then probability_move_firms and if the variable employees is close enough to the maximum capacity of the firm, in other words, if employees is less than 0.5*capacity_max, the firm moves randomly in the space looking for workers to employ.

The firm moving probability is smaller because of the high costs related to the business transfer.

The user can reduce the capacity_max slyder value, therefore firms dismiss their workers. They begins to expel the “adapted” workers (red skill workers in white firms and white skill workers in red firms) and if this is not enought they reduce the correctly employed in order to have a number of employed less or equal to the capacity max of the firm.

If firms assume adapted workers it will pay more training costs, therefore the more are the adapted worker the darker will be the firm’s color.

When a firm reaches its maximus capacity its size becomes 6.

The simulation ends when all firms reach their maximus capacity.

A plot shows the progression of total employed people rapported to adapted employed and correctly employed.
Some monitors show the passage of time, the total number of unemployed and employed workers for each class.


HOW TO USE IT

You create the world with the button setup and with button go the agents start to interact in the world. On the interface there are a lot of variables such as: initial_white_firms, initial_red_firms, capacity_max, probability_adaptation, probability_move_workers, probability_move_firms, worldview_workers, worldview_firms and information that can be moved by their slyders and switch; their changing modify the behaviors of agents looking for employment or workforce to employ.


THINGS TO NOTICE

Try many different setup, you will see the importance of initial conditions in determining a equilibrium.

In the information swich is active:
- unemployed workers find their (nearest) same skill firm (in radium world_view_workers) that is looking for workeforce to employ, if they don’t find it they look for the other skill firm that could employ them. They will move to the firm direction.

- firms that haven’t reach their own half maximum capacity search the patch, in the radium defined by worldview_firms, with the highest number of workers with the same skill of the firm near itself, move on it.

Therefore the equilibrium will be reached faster.


THINGS TO TRY

Find the value of each variable that leads the model to equilibrium in less time, if it is possible to find one. Move each variable from the equilibrium to understand the different consequences on the model. Interact the variables moving together.


EXTENDING THE MODEL

A training center could be created to teach unemployed workers the skills required by the market; so they could try to obtain a new employ in the other firms even if they originally didn't have the expertise required.

A new variable "wealth" could be created to quantify income and costs of each firm.
Costs of moving are really high. How many firms will survive?


RELATED MODELS

Economic Disparity from NetLogo Library.


CREDITS AND REFERENCES

http://www.bi.camcom.it/Page/t06/view_html?idp=1354
http://www.provincia.biella.it/on-line/Home/Sezioni/Lavoro-CentroPerlImpiego/articolo5140.html