Skip to content
Snippets Groups Projects
Commit 21efc473 authored by rhaag's avatar rhaag
Browse files

moved example Map to new Folder

parent 8004e87e
No related branches found
No related tags found
No related merge requests found
max_waiting_time=t0
max_relative_detour=1.0
dispatcher=(;
cost=:trajectory_length,
rejection_criterion=((:any_relative_detour,max_relative_detour),)
)
map_specs=(:star_grid_map,(64,16))
#t0=readdlm(map_folder*"timescale.txt")[1]
#map
speed_dict=Dict(1=>3.6)
mymap=RP.get_map(map_specs)
RM=RP.get_route_matrix(map_folder)
using DelimitedFiles
t0=readdlm(map_folder*"timescale.txt")[1]
File added
45.339190347724944
export data_functions, save_path, getValues
import Pkg
Pkg.activate(".")
using DataFrames
using DelimitedFiles
# Dict of the functions used for evaluation
# QUESTION Calculate Variance for all of these?
data_type_functions = Dict(
:served_percentage => RP.served_percentage,
:driven_distance => RP.driven_distance,
:requested_distance => RP.requested_distance,
:mean_relative_delay => RP.mean_relative_delay,
# :mean_occupancy => RP.mean_occupancy, #BUG In Reading TUples from a CSV File
)
"""
Converts a given index to a 2D Matrix Index with the given Matrix size
"""
function getValue(index, xmin, xmax, xlen, ymin, ymax, ylen)
xstep = (xmax-xmin)/xlen
ystep = (ymax-ymin)/ylen
x = (index%xlen) * xstep + xmin
y = trunc(Int64, index/ylen) * ystep + ymin
return x,y
end
"""
Function for Running a RidePooling simulation with the normalized Frequency x
"""
function simulate_rp(paths::Dict, N::Int64, x, y, t0::Float64, specs; served = 10*N, requested=10*N)
#Make Model
model=RP.get_model(;N_bus=N,ν=x/t0,specs...);
RP.run!(model;requested=requested, served=served)
data = Dict()
data[:frequency] = x
data[:dt_latest_dropoff] = y
for (name, func) in data_type_functions
data[name] = func(model)
end
# Save the calculated Data
data = DataFrame(data)
open(paths[:data]*"$index.csv", "w") do io
writedlm(io, Iterators.flatten(([names(data)], eachrow(data))), ';')
end
#Save the model for possible later reference
RP.savemodel(paths[:model]*"$index.model",model;route_matrix=false)
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment