Skip to content
Snippets Groups Projects
Commit 7258b42d authored by rhaag's avatar rhaag
Browse files

Ready for Deployment

parent 469c08c0
No related branches found
No related tags found
No related merge requests found
...@@ -845,6 +845,14 @@ git-tree-sha1 = "4036a3bd08ac7e968e27c203d45f5fff15020621" ...@@ -845,6 +845,14 @@ git-tree-sha1 = "4036a3bd08ac7e968e27c203d45f5fff15020621"
uuid = "ae029012-a4dd-5104-9daa-d747884805df" uuid = "ae029012-a4dd-5104-9daa-d747884805df"
version = "1.1.3" version = "1.1.3"
[[RidePooling]]
deps = ["Agents", "BenchmarkTools", "DelimitedFiles", "Distributions", "LinearAlgebra", "Measures", "OpenStreetMapX", "OpenStreetMapXPlot", "Pkg", "PlotlyJS", "Plots", "PolygonOps", "PrettyTables", "Random", "Serialization", "SparseArrays"]
git-tree-sha1 = "7e7f7b5b6984a8265cd1181877a8b880088dd113"
repo-rev = "planned_pickup"
repo-url = "https://gitlab.gwdg.de/smuehle1/RidePooling/"
uuid = "2a705bf3-b16b-4235-81e9-bc2517364992"
version = "0.9.0"
[[Rmath]] [[Rmath]]
deps = ["Random", "Rmath_jll"] deps = ["Random", "Rmath_jll"]
git-tree-sha1 = "bf3188feca147ce108c76ad82c2792c57abe7b1f" git-tree-sha1 = "bf3188feca147ce108c76ad82c2792c57abe7b1f"
......
...@@ -6,6 +6,7 @@ version = "0.1.0" ...@@ -6,6 +6,7 @@ version = "0.1.0"
Agents = "46ada45e-f475-11e8-01d0-f70cc89e6671" Agents = "46ada45e-f475-11e8-01d0-f70cc89e6671"
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
...@@ -17,11 +18,12 @@ Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" ...@@ -17,11 +18,12 @@ Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
PolygonOps = "647866c9-e3ac-4575-94e7-e3d426903924" PolygonOps = "647866c9-e3ac-4575-94e7-e3d426903924"
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
RidePooling = "2a705bf3-b16b-4235-81e9-bc2517364992"
Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b" Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
[compat] [compat]
Agents = "= 4.1.3" Agents = "= 4.1.3"
OpenStreetMapX = "= 0.2.3" OpenStreetMapX = "= 0.2.3"
julia = "1.5"
RidePooling = "0.9" RidePooling = "0.9"
julia = "1.5"
export data_functions, save_path, getValues export data_functions, save_path, getValues
import Pkg import Pkg
Pkg.activate(".") Pkg.activate(".")
import RidePooling #How can I use using instead
RP = RidePooling
using DataFrames using DataFrames
using DelimitedFiles using DelimitedFiles
...@@ -38,7 +37,7 @@ end ...@@ -38,7 +37,7 @@ end
""" """
Function for Running a RidePooling simulation with the normalized Frequency x Function for Running a RidePooling simulation with the normalized Frequency x
""" """
function simulate_rp(paths,N, x, y, t0, specs, served = 10*N, requested=10*N) function simulate_rp(paths::Dict, N::Int64, x, y, t0::Float64, specs; served = 10*N, requested=10*N)
#Make Model #Make Model
#TODO Make Random gens #TODO Make Random gens
...@@ -59,6 +58,6 @@ function simulate_rp(paths,N, x, y, t0, specs, served = 10*N, requested=10*N) ...@@ -59,6 +58,6 @@ function simulate_rp(paths,N, x, y, t0, specs, served = 10*N, requested=10*N)
writedlm(io, Iterators.flatten(([names(data)], eachrow(data))), ',') writedlm(io, Iterators.flatten(([names(data)], eachrow(data))), ',')
end end
#Save the model for possible later reference #Save the model for possible later reference
#RP.savemodel(paths[:model],model;route_matrix=false) #QUESTION What savepath RP.savemodel(paths[:model]*"$index.model",model;route_matrix=false) #QUESTION What savepath
# QUESTION How do I use the saving # QUESTION How do I use the saving
end end
#!/bin/bash
N=1
SAVE_PATH="${PWD}/results/"
INDEX=1
DATA_PATH="${SAVE_PATH}data/"
MODEL_PATH="${SAVE_PATH}model/"
mkdir -p $DATA_PATH
mkdir $MODEL_PATH
# Test , if the simulation is starting:
julia sim.jl $N $SAVE_PATH $INDEX
driven_distance,dt_earliest_pickup,frequency,mean_occupancy,mean_relative_delay,requested_distance,served_percentage
79.19370443654049,1.0,10.0,(2.1515632957803708, 2.1515632957803708, 1.511439902430138, 1.511439902430138),2.407237058707249,413.4767807877514,0.9523809523809523
...@@ -3,5 +3,5 @@ max_relative_detour=1.0 ...@@ -3,5 +3,5 @@ max_relative_detour=1.0
dispatcher=(; dispatcher=(;
cost=:delays, cost=:delays,
rejection_criterion=((:any_relative_detour,max_relative_detour)) rejection_criterion=((:any_relative_detour,max_relative_detour),)
) )
File added
using Pkg using Pkg
Pkg.activate(".") Pkg.activate(".")
#Pkg.add(url="https://gitlab.gwdg.de/smuehle1/RidePooling/", rev="planned_pickup")
Pkg.instantiate() #there may be an error here concerning PyCall. The dependencies assume Python to be installed on your system, with package 'matplotlib' installed. Pkg.instantiate() #there may be an error here concerning PyCall. The dependencies assume Python to be installed on your system, with package 'matplotlib' installed.
#Either just run 'conda install -c conda-forge matplotlib' in your system shell, or follow instructions below (after running this cell and getting an error) to solve everything from within Julia. #Either just run 'conda install -c conda-forge matplotlib' in your system shell, or follow instructions below (after running this cell and getting an error) to solve everything from within Julia.
import RidePooling import RidePooling
#include("../RidePooling/src/RidePooling.jl")
RP = RidePooling RP = RidePooling
using DataFrames using DataFrames
using CSV using CSV
...@@ -23,27 +26,24 @@ try ...@@ -23,27 +26,24 @@ try
global index = eval(Meta.parse(ARGS[3])) global index = eval(Meta.parse(ARGS[3]))
println("Using Command line parameters \n\tN = $N\n\tsave_path = $save_path\n\tindex = $index") println("Using Command line parameters \n\tN = $N\n\tsave_path = $save_path\n\tindex = $index")
catch e catch e
println(e.msg) println(e)
try try
index=1 global N=10
save_path = pwd()*"/example/ruben/"
N=10
global save_path = Meta.parse(ARGS[1]) global save_path = Meta.parse(ARGS[1])
global index = eval(Meta.parse(ARGS[2])) global index = eval(Meta.parse(ARGS[2]))
println("No N found. Falling back to standart value:\n\tN=$N") println("No N found. Falling back to standart value:\n\tN=$N")
catch e catch e
println(e.msg) println(e)
try try
index=1 global save_path = pwd()*"/results/"
save_path = pwd()*"/example/ruben/" global N=10
N=10
global index=eval(Meta.parse(ARGS[1])) global index=eval(Meta.parse(ARGS[1]))
println("No Savepath or N found. Falling back to standart values:\n\tN=$N\n\tfilepath=$save_path") println("No Savepath or N found. Falling back to standart values:\n\tN=$N\n\tfilepath=$save_path")
catch e catch e
println(e.msg) println(e)
index=1 global index=1
save_path = pwd()*"/example/ruben/" global save_path = pwd()*"/results/"
N=10 global N=10
println("No Filepath and no Index found. Falling back to standart values:\n\tindex = $index\n\tSave Path = $save_path") println("No Filepath and no Index found. Falling back to standart values:\n\tindex = $index\n\tSave Path = $save_path")
end end
end end
...@@ -57,12 +57,18 @@ paths = Dict(:data => "data/", ...@@ -57,12 +57,18 @@ paths = Dict(:data => "data/",
:map => "example_map/map/", :map => "example_map/map/",
:dispatcher => "example_map/delays_wt1reldelta1/") :dispatcher => "example_map/delays_wt1reldelta1/")
#TODO Gucke ob die Ordner existieren
for (name, path) in paths for (name, path) in paths
paths[name] = save_path * path paths[name] = save_path * path
end end
#TODO Gucke ob die Ordner existieren
if !isdir(paths[:data])
print("Please create data folder at $(paths[:data])")
end
if !isdir(paths[:model])
print("Please create model folder at $(paths[:model])")
end
map_folder = paths[:map] map_folder = paths[:map]
requested = 20 * N requested = 20 * N
......
#!/bin/bash
N=20
SAVE_PATH="./example/ruben/"
INDEX=1
julia sim.jl $N $SAVE_PATH $INDEX
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment