Modeling employment of university graduates

Modeling employment of university graduates preview image

1 collaborator

Default-person Hossein Sabzian (Author)

Tags

economic planning; 

Tagged by Hossein Sabzian about 6 years ago

Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.0.1 • Viewed 521 times • Downloaded 86 times • Run 0 times
Download the 'Modeling employment of university graduates' modelDownload this modelEmbed this model

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

breed [ industries industry] ;; industry breed
breed [ universities university] ;; university breed
breed [ students student] ;; student breed
industries-own [
ind-type ;; the types of industry including  high-tech, mid-tech and low-tech
capacity  ;; the capacity of each industry type
]
universities-own [
  grade ;; the rank of university including grade A, grade B and grade C.
]
students-own [
  job? ;; when the student has a job, it is true otherwise it is false.
  age ;; the age of students if exceeding 100, the student dies
  gradu-period ;; the period of student graduation ranging from 1 to ....n
]
globals [
  value ;; a value for counting graduation period
]

to setup
ca
resize-world -30 30 -16 16  ;; the size of world view
ask patches [ set pcolor magenta]

industrial-district ;; industrial district is established ( either spread or concentrated)
uinversity-district ;; university district is established (either spread or concentrated)

ask industries [
    set-type
    set-capacity
  ]
ask universities [
    set-grade
  ]

set value 0

reset-ticks
end 

to go
   ;; a specified number of targeted graduates should be achieved over 5 years so universities are called for meeting this need.
  if count students < num-of-targeted-graduates-for-a-5year-period [

    ask-universities-to-train
  ]

  ask students [
    update-age  ;; students update age
  ]
  ask students with [not job?] [

    come-to-market  ;; unemployed students come to market
    search-for-job  ;; ;; unemployed students search for job
  ]

  tick
end 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;helper procedures
;; This is a core mechanism for connecting graduates to universities.In this a high-tech industry just recruits grade A students
;; a mid-tech industry just recruits grade B students and a low-tech industry only recruits grade C students.

to search-for-job
  let target-industry one-of industries-here
  ifelse target-industry != nobody [
    if [capacity] of target-industry > 0 [
      if color = [color] of target-industry [setxy [xcor] of target-industry [ycor] of target-industry  set job? true ask target-industry [ set capacity capacity - 1 ]
      ]
    ]
  ]

  [ come-to-market ]
end 

;; a gtaduate come to market

to come-to-market
  rt random 90
  lt random 90
  if not can-move? 1 [ rt 180]
  fd 1
end 

to update-age
  if age > 21 [ set age age + 0.025 ] ;; since 40 ticks are 1 year
  if age  > 100 [ die]   ;; the limit of lifetime
end 

to ask-universities-to-train
  let gra-target ( num-of-targeted-graduates-for-a-5year-period / 5 ) ;;;  number of graduates per year
  if (ticks > 0 and (ticks mod 40 = 0) )  [  while  [ gra-target > 0 ] [
    ask one-of universities [hatch-students 1 [features] set gra-target gra-target - 1  ]
    ]
  set value value + 1
  ]
;
end 
;; features of a student when he or she gets graduated

to features
  set shape "person"
  set job? false  ;; has no job
  set age 22  ;; is at 22. this is for bachelors and can be extended.
  set gradu-period value + 1 ;; his or her graduation period is chosen
  fd 0.5
end 

;; universities grading system completely depends on the quanlity of universities. The grades range from A to C.

to set-grade
  ifelse random-float 1.0 <= university-quality
  [set grade 1 set color white] [ifelse random-float 1.0 <= university-quality [set grade 2 set color cyan ] [set grade 3 set color gray]]
end 

to set-capacity
   if ind-type = 1 [set capacity cap-of-high-tech-industries]
   if ind-type = 2  [ set capacity cap-of-mid-tech-industries]
   if ind-type = 3  [ set capacity cap-of-low-tech-industries]
end 

to set-type
  ifelse random-float 1.0 <= inudstry-advancement [set ind-type 1 set color white] [ifelse random-float 1.0 <= inudstry-advancement
    [set ind-type 2 set color cyan ] [set ind-type 3 set color gray]]
end 

to industrial-district
  ifelse spatial-spread? [
  while [count industries < num-of-industries] [
  ask one-of patches with [not any? turtles-here] [ sprout-industries 1 [set shape "pentagon"] ]
  ]
  ]
  [  ;set industrial-zone patches with [ pxcor >= 15 and pycor >= 8 ]
    while [count industries < num-of-industries]
    [ ask one-of industrial-zone with [not any? turtles-here] [ sprout-industries 1 [set shape "pentagon"] ]  ]
  ]
end 

to uinversity-district

  ifelse spatial-spread? [
  while [count universities < num-of-universities] [
  ask one-of patches with [not any? turtles-here] [ sprout-universities 1 [set shape "square"] ]
  ]
  ]
  [
    while [count universities < num-of-universities]
    [ ask one-of university-zone with [not any? turtles-here] [ sprout-universities 1 [set shape "square"] ]  ]
  ]
end 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; University Zone  & industrial Zone

to-report university-zone
  let unive-zone patches with [ pxcor <= -12 and pycor <= -5 ]
  report  unive-zone
end 
;

to-report industrial-zone
  let indust-zone patches with [ pxcor >= 15 and pycor >= 8 ]
  report  indust-zone
end 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Industrial Capacity

to-report capacity-of-industries
  report sum [capacity] of industries
end 

to-report total-capacity

  let high-techs (count industries with [ind-type = 1 ] * cap-of-high-tech-industries)
  let mid-techs (count industries with [ind-type = 2 ] * cap-of-mid-tech-industries)
  let low-techs (count industries with [ind-type = 3 ] * cap-of-low-tech-industries)
  report (high-techs + mid-techs + low-techs  )
end 

There is only one version of this model, created about 6 years ago by Hossein Sabzian.

Attached files

File Type Description Last updated
Modeling employment of university graduates.png preview Preview for 'Modeling employment of university graduates' about 6 years ago, by Hossein Sabzian Download

This model does not have any ancestors.

This model does not have any descendants.