An attempt to evaluate the minimum wage
No preview image
Model was written in NetLogo 6.2.0
•
Viewed 289 times
•
Downloaded 27 times
•
Run 0 times
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Comments and Questions
Please start the discussion about this model!
(You'll first need to log in.)
Click to Run Model
globals [ seed-used ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; DEFINE AGENTS IN THE MODEL ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; breed [firms firm] breed [workers worker] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; AGENT'S ASSETS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; FIRM'S ASSETS firms-own [ f-production technology f-employees f-capital f-vacancy f-wage-offer f-init-tech alpha intensity f-labor-cost f-capital-cost f-total-cost f-unit-cost f-unit-price markup f-inventory f-revenue f-profit x-position y-position min-wage-inc ] workers-own [ employed w-pot-firms w-firm w-wage income mpc w-savings w-stores w-stores-l gini wealth ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; SETUP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to setup clear-all start-firms number-of-firms start-workers number-of-workers initialize-variables firms-produce labor-market-opens reset-ticks end to initialize-variables ask firms [ set f-production 1 set technology 1 set f-employees no-turtles set alpha random-float 1 set intensity 2 * ((alpha / (1 - alpha)) ^ 2) set f-init-tech 1 + random-float 1 set markup 1 + random-float 1 set f-capital 100 set f-vacancy 0 set f-wage-offer min-wage set f-labor-cost 0 set f-capital-cost 0 set f-inventory 0 set f-revenue 0 set f-profit 0 set min-wage-inc 0 ] ask workers [ set employed false set w-pot-firms no-turtles set w-firm nobody set mpc 0 set income 0 set w-savings 0 set gini 0 set w-stores no-turtles set w-stores-l no-turtles set wealth 0 ] end to go if (ticks >= 500 ) [stop] goods-market labor-market ask firms [ set technology (f-init-tech) * ( (1 + tech-progress) ^ (ln (1 + ticks) ) ) if (ticks >= 100) [set min-wage-inc min-wage-increase] ] tick end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; MARKET'S ACTIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to labor-market labor-market-opens end to goods-market firms-produce workers-income firms-revenue firing-steps end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; AGENT'S ACTIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; LABOR MARKET to labor-market-opens ask firms [ set f-vacancy 12 ] let pot-firms firms with [f-vacancy > 0] ask workers with [not employed] [ ifelse (not empty? [w-firm] of w-pot-firms) [set w-pot-firms (turtle-set w-firm n-of (3 - 1 ) pot-firms)] [set w-pot-firms n-of (min (list 3 count pot-firms)) pot-firms] ] hiring-step 2 ask workers with [not employed][ set w-wage 0 rt random 360 fd (random 4) + 1 ] ask firms [ set label count f-employees ] end ;;;;;;;;;;;;;;;;;;;;;; HIRING to hiring-step [trials] while [trials > 0] [ ask workers with [not employed and any? w-pot-firms] [ move-to max-one-of w-pot-firms [f-wage-offer] ] ask firms with [f-vacancy > 0 ] [ let pot-workers workers-here with [not employed] let quantity count pot-workers let workers-hired n-of (min list quantity f-vacancy) pot-workers let wage-employees f-wage-offer set f-employees (turtle-set f-employees workers-hired) set f-vacancy f-vacancy - (count workers-hired) ask f-employees with [not employed] [ set color white set employed true set w-wage wage-employees set w-firm firms-here set w-pot-firms no-turtles ] ] set trials trials - 1 ask workers with [not employed and any? w-pot-firms][ set w-pot-firms min-n-of min (list trials count w-pot-firms) w-pot-firms [f-wage-offer] ] ] end ;;;;;;;;;;;;;;;;;;;;;; FIRM'S PRODUCTION to firms-produce ask firms [ set f-production technology * ((count f-employees) ^ (1 - alpha)) * (f-capital ^ (alpha)) set f-capital-cost f-capital * 1 set f-total-cost f-labor-cost + f-capital-cost set f-wage-offer min-wage + min-wage-inc + intensity set f-labor-cost (count f-employees) * f-wage-offer if f-production > 0 [ set f-unit-cost f-total-cost / f-production ] if f-production = 0 [ set f-unit-cost 0 ] set f-unit-price f-unit-cost * markup ] end to workers-income ask firms [ let wage-stipend f-wage-offer ask f-employees [ set w-wage wage-stipend ] ] ask workers[ ifelse w-wage >= (mean [w-wage] of workers) [set mpc (mean [w-wage] of workers) / w-wage] [set mpc (w-wage / (mean [w-wage] of workers))] set income w-wage let income-for-cons mpc * income set w-savings income - income-for-cons ifelse (any? turtle-set w-stores-l) [ let id-store [who] of w-stores-l set w-stores (turtle-set w-stores-l n-of ( min list (x2 - 1) count firms with [who != id-store] ) firms with [who != id-store]) ] [ set w-stores n-of ( min list x2 count firms ) firms ] set w-stores-l max-one-of w-stores [f-production] if (count w-stores != x2) [show (word "Number of my stores " count w-stores " who " who)] buying-steps x2 income-for-cons ] ask workers [ set wealth w-savings ] end to buying-steps [trials money] while [trials > 0 and money > 0] [ let cheapest-store min-one-of w-stores [f-unit-price] let possible-goods-to-buy min list money [f-inventory] of cheapest-store set money money - possible-goods-to-buy ask cheapest-store [ set f-inventory f-inventory - possible-goods-to-buy ] ask [patch-here] of cheapest-store [ set pcolor blue ] set trials trials - 1 set w-stores max-n-of trials w-stores [f-unit-price] ] end to firms-revenue ask firms [ set f-revenue f-unit-price * (f-production - f-inventory) set f-profit f-revenue - f-total-cost ] end to firing-steps ask firms with [f-profit <= 0] [ ask f-employees [ set employed false ] set f-production 0 set f-inventory 0 ] ask firms with [f-profit <= 0 ] [die] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; VISUALIZATION ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to start-firms [#firms] create-firms #firms [ set x-position random-pxcor * 0.8 set y-position random-pycor * 0.8 setxy x-position y-position set color blue set size 2 set shape "flag" ] end to start-workers [#workers] create-workers #workers [ setxy random-pxcor random-pycor set color yellow set size 0.5 set shape "person" ] end to-report all-workers-savings report [w-savings] of workers end
There are 2 versions of this model.
Attached files
No files
This model does not have any ancestors.
This model does not have any descendants.