Activates or deactivates the search panel, resetting things to their default values if necessary.
this.Activate = function( isActive, ignoreDeactivateDelay )
Implements a low-emission zone with taxes for agents using technology car in a specified area-
to activate-low-emission-zone [my-radius my-cost-factor my-dimension]
Adds an agent to the edge
to add-agent-to-edge [my-agent my-costs-benefits]
Adds an agent to the node
to add-agent-to-node [my-agent my-costs-benefits]
Adds all list elements execpt the first
to-report add-all-but-first [list-a list-b]
Adds the given boolean to each element of the given list
to-report add-boolean [my-list my-boolean]
to-report add-non-usable-technologies [right-of-use-vector]
Creates a result file based on base-file (which is the same for all result-files of a scenario-run) and extension (indicating the type of result), adds file to result-file-names table and prints header-line to the file.
to add-result-file [base-file extension header-line]
Parses edges from origin to all destinations and adds technology->technology-names of that technlogies that are allowed on the edge as well as on the respective destination node to the resulting list
to-report add-technologies-allowed [my-origin my-destinations]
Reports, whether an agent my switch technologies on the given node (based on item 2 node-costs-benefits-agents).
to-report agent-technology-switch-allowed? [my-node]
Reports the number of agents of each agent-type still alive.
to-report agent-types-alive
Main function for all agent actions: Entering and leaving nodes and edges and taking decisions about the next node an agent wants to reach.
to agents-run
Main function for all agent actions: Entering and leaving nodes and edges and taking decisions about the next node an agent wants to reach.
to agents-run
Allows the given technology (set item 1 to true), , reports true if technology was banned before
to-report allow-technology [my-technology]
Appends the given string and source to the changes-list
to append-to-changes-list [item-type value-list]
Appends the given string and value-list to the given list
to-report append-to-list [my-list item-type value-list]
Triggers a control algorithm specified via GUI-switch “control-algorithm” (can be used in behaviour space experiments as well).
to automated-control
Handles automated control (soft and strong) on edges, based on edge->edge-limits-short-time/edge->edge-degree-short-time.
to automated-control-edges [my-mode my-time my-dimension my-technology-name]
Runs the automated-control which can basically be split to two sorts of intervention.
to automated-control-luebke
Handles automated control (soft and strong) on nodes, based on short-time-limits/degrees
to automated-control-nodes [my-mode my-time my-dimension my-technology-name]
Automated control algorithm, increasing the costs of usage of all technologies (as long as value does not raise over soft-control-max-value) if any short time limit is about global->percentage-soft-automated-control, decreasing otherwise (as long as value does not fall below soft-control-min-value)
to automated-control-soft
Automated control algorithm, increasing the costs of car usage (as long as value does not raise over soft-control-max-value) if any short time limit is about global->percentage-soft-automated-control, decreasing otherwise (as long as value does not fall below soft-control-min-value).
to automated-control-soft-car
Automated control algorithm, soft intervention on cars in case of any short time limit problems, strong intervention in case of capacity problems for all technologies, for the car in case of emission problems.
to automated-control-soft-car+strong-splitted
Automated control algorithm, combining automated-control-soft-car and automated-control-strong-car Used in basic Jasss experiments.
to automated-control-soft-strong-car
Runs the standard version ofautomated-control, which can basically be split to two sorts of intervention a) Soft control: If degree of usage reaches global->percentage-soft-atomated-control, costs of that technology influencing the respective dimension of degree most negatively will be increased.
to automated-control-standard
Automated control algorithm, banning most harming technology from edges and nodes if any short time limit is about global->percentage-strong-automated-control, re-allowing the usage of the respective technology if limit falls below global->percentage-strong-automated-control again.
to automated-control-strong
Automated control algorithm, banning technology car from edges and nodes if any short time limit is about global->percentage-strong-automated-control, re-allowing the car if limit falls below global->percentage-strong-automated-control again.
to automated-control-strong-car
Automated control algorithm, banning most harming (out of all) technologies in case of exceeding capacity limits, banning the car only in case of emission problems.
to automated-control-strong-splitted
Bans the given technology, reports true if technology was not banned before
to-report ban-technology [my-technology]
Reports that technology (actually banned) showing least negative impact with respect to the given dimension
to-report best-technology [my-dimension]
Builds rucursively the low emission zone as specified in function activate-low-emission-zone
to-report build-low-emission-zone [my-nodes my-radius]
Implements the core buying-act (while the decision which technoloy to buy is implemented within purchase-technology)
to buy-technology [my-technology-name]
Calculates the best action for the given possible destinations
to-report calculate-best-action [possible-destinations]
Calculates costs benefits based on an agent’s action; depends on location (node/edge), technology-used, control-factor and technology-dependency
to-report calculate-costs-benefits [my-ie my-technology my-agent]
Calculate degree for value between lower and upper limit
to-report calculate-degree [my-lower-limit my-upper-limit my-value]
Calculates the degree vector of the calling entity
to-report calculate-degree-vector [time]
Calculates edge-delay by considering edge-values, technology-values and (if present) factors influenced by controlling interventions
to-report calculate-edge-delay [my-edge my-technology]
Holds metrics used to calculate probabilities “p” used in SEU-calculation.
to-report calculate-p [my-metric my-dimension my-vector my-parameter]
Calculates p-value for SEU calculation for a goal like money-saving.
to-report calculate-p-costs [my-vector my-dimension my-time-horizon my-factor]
Calculates p-value for SEU calculation for a goal like money-saving.
to-report calculate-p-costs-simple [my-vector my-dimension my-time-horizon my-factor]
calculates p-value based on (given) duration of using an edge.
to-report calculate-p-duration [my-duration upper-border]
Calculates p-value for SEU calculation for a goal like money-saving.
to-report calculate-p-money [my-vector my-dimension my-time-horizon my-factor]
Calculates p-value for SEU calculation for a “hidden” goal, advancing some given technology, independent from situational parameters.
to-report calculate-p-technology-preference [my-technology-name my-technology]
Calculates subjective expected utility for the given action, where action consists of 3 ordered items: node-to-take, edge-to-take, technology-to-use
to-report calculate-utility [my-action]
Changes all list elements execpt the first
to-report change-all-but-first-element [old-list change-list]
Changes agents’ long time limits concerning bank account balance (used to change a scenario easily for testing purposes).
to change-long-time-limit [my-value]
Change technology-available-state of my-technology to my-state, report true if state was changed to a new value
to-report change-technology-state [my-technology my-state]
Alters scenario-values due to input, given by behaviour-space or XML-experiment-definition.
to change-values
Checks possible death of agents due to several reasons: reaching a final node, exceeding limits etc.
to check-agents-death
Handles check of death for all objects that can die: nodes, edges, agents, technologies
to check-death
Checks if an agent has exceeded one of his long-time-limits and should be removed from simulation.
to-report check-death-by-limit
Checks if an agent has reached a final node and should be removed from the simulation
to-report check-death-by-location
Replace every occurence of “e” (Euler’s number) in a list by false (is used to encode “don’t care” in input files of SimCo).
to-report check-dontcare [list-to-check]
Checks, if edges are still alive and thus may be used in choose-action.
to-report check-edge-alive [my-from-node my-to-nodes]
Checks possible death of edges, due to end of lifetime (or death of a node connected to that edge, see check-nodes-death.)
to check-edges-death
Checks if first dimension of given list is set to the given value
to-report check-first-dimension [my-list my-value]
Checks possible death of nodes, due to end of lifetime
to check-nodes-death
Ensures that the int given as input does not exceed the limits of [0,1], because p-values are probabilities and thus restricted by these values.
to-report check-p [my-p]
Procedure to reset short or long time payoffs if short-time or long-time periods are completed.
to check-payoff-reset
Checks possible death of technologies, due to end of lifetime
to check-technologies-death [my-technologies]
Checks, wether the technologie’s factor shall be used when calculating costs-benefits
to-report check-technology-dependencies [my-technology-factor my-technology-dependencies]
Agent takes a decision about the next action to take.
to-report choose-action
Let the user choose a directory.
to choose-directory
Let the user choose a directory.
to choose-directory
Closes the results window.
this.CloseResultsWindow = function()
Helper function to be used in behaviour space, allows to specify experiments with two technology factors to be influenced easily (helping to reduce number of combinatorial options)
to combineMoneyComfort [moneyFactor moneyTechnology comfortFactor comfortTechnology]
Counts agents per agent-type
to-report count-agent-type
Counts number of ticks each technology was used in previous time within the running simulation.
to-report count-technology-usage
Instantiates an edge (fromt the calling node to the sink given, and sets its parameters according to the type given.
to create-edge-of-type [my-edge-sink my-edge-type]
Returns the full path to a file in the masters’ directory
to-report create-master-file-path [file-name]
Creates a node of given type, using a node-type-object to derive the neccessary information.
to create-node-of-type [my-node-type]
Instantiates a new technology object based on the technology-type reffered to via my-technology-type-name
to-report create-technology [my-technology-type-name]
Returns the full path to a file in the types directory
to-report create-type-file-path [file-name]
Reports a list with the same number of elements as the given base list (alternatively the number may be given), each item has the given value.
to-report createList [input value]