Education as a signal of ability2

No preview image

1 collaborator

Default-person Will Kim (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 4.1.2 • Viewed 212 times • Downloaded 22 times • Run 3 times
Download the 'Education as a signal of ability2' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

This section could give a general understanding of what the model is trying to show or explain.

HOW IT WORKS

This section could explain what rules the agents use to create the overall behavior of the model.

HOW TO USE IT

This section could explain how to use the model, including a description of each of the items in the interface tab.

THINGS TO NOTICE

This section could give some ideas of things for the user to notice while running the model.

THINGS TO TRY

This section could give some ideas of things for the user to try to do (move sliders, switches, etc.) with the model.

EXTENDING THE MODEL

This section could give some ideas of things to add or change in the procedures tab to make the model more complicated, detailed, accurate, etc.

NETLOGO FEATURES

This section could point out any especially interesting or unusual features of NetLogo that the model makes use of, particularly in the Procedures tab. It might also point out places where workarounds were needed because of missing features.

RELATED MODELS

This section could give the names of models in the NetLogo Models Library or elsewhere which are of related interest.

CREDITS AND REFERENCES

This section could contain a reference to the model's URL on the web if it has one, as well as any other necessary credits or references.

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

breed [ workers worker ]
breed [ firms firm ]

globals [
  tiers
]

workers-own [
  offer ;; the greatest amount of money the worker has been offered
  pemployer ;; the potential employer of the worker
;  employed?
  ability
  salary
  education
  utility
  employer
  ecost
]

firms-own [
  y-star ;; the beliefs of the firm
  hwage ;; the wage for the high ability workers
  lwage ;; the wage for the low ability workers
  sales ;; yearly sales the firm raises per tier
  cost ;; cost of operating per tier
  wage-schedule ;; wage schedule
]

to setup
  ca ;; clear all
  set-default-shape firms "circle"
  set-default-shape workers "person"
  setup-workers ;; worker setup procedure
  setup-firms ;; firm setup procedure
end 

to setup-workers
  create-workers number-of-workers[
    setxy random-xcor random-ycor
    set ability (random types) + 1
    repeat [who] of self [get-education] ;; education from 0~9 for each turtle
    set pemployer nobody
  ]
end 

to setup-firms
  create-firms number-of-firms [
    set size 2
    setxy random-xcor random-ycor
;    set sales (list 0)
;    set cost (list 0)
    decide-beliefs
    setup-wage-schedule
  ]
end 

to setup-wage-schedule
  set wage-schedule n-values types [random-float 1]
end 

to decide-beliefs  ;; firm procedure
  set y-star random 3 ;; firm believes that people with education above 1.5 will be high ability
  set hwage 3
  set lwage 1
end 

;; From here the go procedure
;;  First, workers start with their initial values of education. Then, firms go and 
;;  make offers to workers. Next, workers accetp the highest offer. Now, workers and firms 
;;  calculate their utilities.

to go
;  ask firms 
;  [ offer-work ]
  ask workers 
  [ accept-offer ]
  calculate-utility
;  ask workers get-education
end 

to get-education
  set education education + 1
  set ecost education ^ 2 / ability
end 

to calculate-utility
  ask firms [
    set sales sum [ability] of workers with [employer = myself]
    set cost sum [salary] of workers with [employer = myself]
  ]
  ask workers [
    set utility salary - ecost
  ]
end 

to update-tiers ;; need to check if this works!!
  let emin min [education] of workers
  let emax max [education] of workers
  let tier-length (emax - emin) / types
  let counter emin
  let temp1 [who] of workers with [[education] of self >= counter and [education] of self <= (counter + tier-length)]
  set counter counter + tier-length
  let temp2 [who] of workers with [[education] of self > counter and [education] of self <= (counter + tier-length)]
  set tiers list temp1 temp2
  repeat types - 2 [
    set counter counter + tier-length
    set tiers lput [who] of workers with [[education] of self > counter and [education] of self <= (counter + tier-length)] tiers
  ]
end 

to offer-wage ;; firm procedure
  foreach n-values types [?] ;; for 1, 2, 3, ..., types. This is just a counting variable
  [
    let num ? ;; set the num counting variable to the current number
    let w item num [wage-schedule] of self ;; wage-schedule = [w1 w2 w3]. num denotes current w.
    let T item num tiers ;; tiers = [T1 T2 T3]. num denotes current T
    foreach T [ ;; for T1, T2, ...
      ask worker ? [
        let temp w * [education] of self ;; offer wage of  education * wage schedule
        if [offer] of self <= temp
        [ set offer temp 
          set pemployer myself ]]
  ]]
end 

to accept-offer 
    set salary offer
    set employer pemployer
;    set employed? true
    set pemployer nobody
    set offer 0
end 

to observe-performance ;; firm procedure
  set cost (list 0)
  set sales (list 0)
  foreach n-values types [?] [ ;; for each tier
    let num ? ;; current tier
    let temp workers with [employer = myself and member? [who] of self item num tiers]
    set cost lput sum [salary] of temp cost
    set sales lput sum [ability] of temp sales
  ]
  set cost remove-item 0 cost
  set cost remove-item 0 sales
end 

There is only one version of this model, created over 13 years ago by Will Kim.

Attached files

No files

This model does not have any ancestors.

This model does not have any descendants.