Untitled
unknown
plain_text
a year ago
11 kB
6
Indexable
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ABM for MOOC Circular Economy 2017 ;;
;; made for Wageningen University INF group ;;
;; by Jesse Bloemhof, Alistair Beames, Gert Jan Hofstede ;;
;; version 7 September ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; State variables
Breed [parties party] ;; The political groups who take the decisions
Breed [Citizens Citizen] ;; represents the average citizen of a neighborhood
Breed [Tourists Tourist] ;; Represents the average tourist of a neighborhood
Breed [houses house] ;; Represents the average house capacity of a neighborhood
Breed [Garbagecans Garbagecan]
Breed [Neighborhoods Neighborhood]
parties-own [
Name ;; name of the actor
policy1_pref ;; score of the actor for policy 1
policy2_pref ;; score of the actor for policy 2
policy3_pref ;; score of the actor for policy 3
Social_status ;; social status given/earned
Preferred_Policy ;; the policy the actor thinks is the best
Hated_Policy ;; the policy the actor thinks is the worst
]
citizens-own [
Environmental_awareness ;; score of the environmental awareness
Education? ;; type of education the citizen has
area ;; the neighborhood the citizen lives in
percentage ;; the percentage that is represented by either high or low education
color_score ;; score which is associated with the color of the symbol
size_score ;; score which is associated with the size of the symbol
]
Neighborhoods-own [
Name ;; name of the neighborhood
Inhabitants ;; number of inhabitants of the neighborhood
Highrise_percentage ;; highrise percentage of the neighborhood
Lowrise_percentage ;; lowrise percentage of the neighborhood
Loweducation_percentage ;; percentage of the citizens with a low education level
Higheducation_percentage ;; percentage of the citizens with a high education level
Separatedwaste_perc ;; percentage of the waste that is separated
color_score ;; score which is associated with the color of the symbol
size_score ;; score which is associated with the size of the symbol
Tourist_COGB ;; cost of good behavior to separate waste for the tourists in the area
Tourist_Perc ;; percentage of tourists in the area
separatedwaste_perc_lastmonth ;; percentage of waste that was separated last month
social_pressure ;; the level of social pressure which is present in the neighborhood
GFT_density ;; density of GFT bins (new parameter)
Green_pref
Blue_pref
Red_pref
]
Tourists-own [
Environmental_awareness ;; score of the environmental awareness
area ;; the neighborhood the tourist lives in
color_score ;; score which is associated with the color of the symbol
size_score ;; score which is associated with the size of the symbol
]
Garbagecans-own [
area ;; the neighborhood the symbol belongs to
size_score ;; score which is associated with the size of the symbol
]
houses-own [
Rise? ;; Highrise or lowrise
area ;; the neighborhood the house is in
COGB ;; the cost of good behavior
percentage ;; the percentage of highrise or lowrise
color_score ;; score which is associated with the color of the symbol
size_score ;; score which is associated with the size of the symbol
]
globals [
separated_waste_total ;; percentage of waste that is separated in Amsterdam
Policy_in_use ;; the current policy in use
policy1_chance ;; the chance policy 1 gets chosen
policy2_chance ;; the chance policy 2 gets chosen
policy3_chance ;; the chance policy 3 gets chosen
Policy1_chosen ;; the amount of times policy 1 is chosen
Policy2_chosen ;; the amount of times policy 2 is chosen
Policy3_chosen ;; the amount of times policy 3 is chosen
social-pressure ;; the amount of social pressure there is in Amsterdam
max_possible_density ;; declare this, initialized later
]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This is the setup procedure
to setup
clear-all
reset-ticks
import-drawing "Mapamsterdam.png"
set social-pressure 1
setup-parties
setup-amsterdam
check
update-display
end
to setup-default-settings
set Initial_lowrise_CoGB 0.65
set Initial_Highrise_CoGB 0.85
set Initial_Env_Awareness_LowEducation 0.15
set Initial_Env_Awareness_HighEducation 0.30
set Initial_Tourist_CoGB 0.80
set Initial_Env_Awareness_Tourist 0.2
set Possible_Influence 1
set Policy_Choice_Randomness 1
set Social_pressure? false
set Goal_total 100
set Time_total 25
set Scenario1 false
set Scenario2 false
set Scenario3 false
set max_possible_density 56.5 ;; Initialize here
end
to setup-amsterdam
setup-neighborhoods
create-citizens 14
ask citizens [set color black] ;; the color black is used so the citizens will not overwrite other citizens
create-houses 14
ask houses [set color black]
create-garbagecans 14
ask garbagecans [set color black
set shape "garbage can"]
create-tourists 7
ask tourists [set color black]
ask neighborhoods [
setup-houses
setup-citizens
setup-tourists
setup-garbagecans
]
end
to setup-neighborhoods
create-neighborhoods 6 ;; Skipping Westpoort
ask one-of neighborhoods [
set name "Nieuw-West"
set color brown
setxy 41 26
set Highrise_percentage 0.8
set Lowrise_percentage 0.2
set Loweducation_percentage 0.2
set Higheducation_percentage 0.8
set Tourist_COGB Initial_Tourist_COGB
set Tourist_Perc 0.2
set Inhabitants 149397
set social_pressure social-pressure
set GFT_density 23.4
]
ask one-of neighborhoods [
set name "West"
set color brown
setxy 57 34
set Highrise_percentage 0.8
set Lowrise_percentage 0.2
set Loweducation_percentage 0.9
set Higheducation_percentage 0.1
set Tourist_COGB Initial_Tourist_COGB
set Tourist_Perc 0.4
set Inhabitants 143964
set social_pressure social-pressure
set GFT_density 56.5
]
ask one-of neighborhoods [
set name "Noord"
set color brown
setxy 87 41
set Highrise_percentage 0.4
set Lowrise_percentage 0.6
set Loweducation_percentage 0.5
set Higheducation_percentage 0.5
set Tourist_COGB Initial_Tourist_COGB
set Tourist_Perc 0.4
set Inhabitants 92917
set social_pressure social-pressure
set GFT_density 8.3
]
ask one-of neighborhoods [
set name "Oost"
set color brown
setxy 87 22
set Highrise_percentage 0.3
set Lowrise_percentage 0.7
set Loweducation_percentage 0.4
set Higheducation_percentage 0.6
set Tourist_COGB Initial_Tourist_COGB
set Tourist_Perc 0.1
set Inhabitants 132421
set social_pressure social-pressure
set GFT_density 24.9
]
ask one-of neighborhoods [
set name "Centrum"
set color brown
setxy 67 26
set Highrise_percentage 0.7
set Lowrise_percentage 0.3
set Loweducation_percentage 0.1
set Higheducation_percentage 0.9
set Tourist_COGB Initial_Tourist_COGB
set Tourist_Perc 0.7
set Inhabitants 86499
set social_pressure social-pressure
set GFT_density 15.8
]
ask one-of neighborhoods [
set name "Zuid"
set color brown
setxy 61 13
set Highrise_percentage 0.2
set Lowrise_percentage 0.8
set Loweducation_percentage 0.1
set Higheducation_percentage 0.9
set Tourist_COGB Initial_Tourist_COGB
set Tourist_Perc 0.1
set Inhabitants 143258
set social_pressure social-pressure
set GFT_density 11.2
]
end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Scenario 3 – Adding more GFT bins and adjusting CoGB
to scenarios
if scenario1 = true [
if ticks = 90 [
ask neighborhoods [
set tourist_perc tourist_perc + 0.15
]
ask one-of neighborhoods with [Name = "Centrum"] [
set tourist_perc tourist_perc + 0.05
]
ask tourists [
set environmental_awareness environmental_awareness - 0.15
]
]
if ticks = 180 [
ask neighborhoods [
set tourist_perc tourist_perc + 0.15
]
ask one-of neighborhoods with [Name = "Centrum"] [
set tourist_perc tourist_perc + 0.05
]
ask tourists [
set environmental_awareness environmental_awareness - 0.15
]
]
]
if scenario2 = true [
if ticks = 90 [
ask houses with [Rise? = "Highrise"] [
set percentage percentage + 0.1
]
ask houses with [Rise? = "Lowrise"] [
set percentage percentage - 0.1
]
ask citizens with [Education? = "Low"] [
set environmental_awareness environmental_awareness - 0.15
]
]
if ticks = 180 [
ask houses with [Rise? = "Highrise"] [
set percentage percentage + 0.1
]
ask houses with [Rise? = "Lowrise"] [
set percentage percentage - 0.1
]
ask citizens with [Education? = "Low"] [
set environmental_awareness environmental_awareness - 0.15
]
]
]
if scenario3 = true [
if ticks = 90 [
;; Increase GFT density and adjust CoGB in neighborhoods
ask neighborhoods [
set GFT_density GFT_density + 5 ;; Adding more bins
let GFT_effect 1 - (GFT_density / max_possible_density)
set COGB COGB * GFT_effect ;; Reduce CoGB based on GFT bin density
]
]
if ticks = 180 [
ask neighborhoods [
set GFT_density GFT_density + 5
let GFT_effect 1 - (GFT_density / max_possible_density)
set COGB COGB * GFT_effect
]
]
]
end
Editor is loading...
Leave a Comment