using RidePooling RP = RidePooling using DataFrames using Measurements import Base.Filesystem FS = Base.Filesystem path = "/project.dcf/poss/datasets/planned_pickup/drive_and_wait/anywt1_anydt01/" model_path = path * "/models/" # Values I want to calculate for every model req_quantitys_mean = [ :relative_delay, #:delay, #:relative_waiting_time, #:waiting_time, #:served, #:requested_distance, #:requested_time, #:total_time, #:travelling_time, #:resubmitted_served_percentage, #:dt_earliest_served, #:dt_earliest, #:relative_dt_earliest ] req_quantitys_sum = [ :count_req, #:resubmitted_all, #:resubmitted_served, ] bus_quantitys = [ :cooldown_time, ] model_quantitys = [ :driven_distance, #:efficiency, #:quality ] results = DataFrame() results[:index] = Int[] results[:dt_earliest_pickup] = Float64[] results[:weight] = Float64[] results[:resubmission_time_factor] = Float64[] results[:ν] = Float64[] results[:request_type] = Any[] for quan in req_quantitys_mean results[quan] = Measurement[] end for quan in req_quantitys_sum results[quan] = Float64[] end for quan in bus_quantitys results[quan] = Measurement[] end for quan in model_quantitys results[quan] = Measurement[] end filenames = readdir(model_path, join=true) for model_nr in filenames model=loadmodel(model_nr) row = Dict() row[:index] = parse(Int, FS.splitext(model_nr)[1]) row[:dt_earliest_pickup] = model.random_gens[model.request_type][2] row[:idle_wight] = model.cost_idle_weight row[:ν] = model.ν row[:to] = model.t0 row[:request_type] = model.request_type for quan in req_quantitys_mean row[quan] = ev.quantity(quan, model_now) end for quan in req_quantitys_sum row[quan] = ev.sum(quan, model) end for quan in bus_quantitys row[quan] = ev.quantity(quan, model.agents, model) end for quan in model_quantitys f = @eval (ev.$quan) row[quan] = f(model) end using Serialization push!(results, row) end using Serialization serialize(path*"results.jls", df)