Skip to content
Snippets Groups Projects
sim.jl 2.64 KiB
Newer Older
  • Learn to ignore specific revisions
  • Ruben Haag's avatar
    Ruben Haag committed
    using Pkg
    
    Ruben Haag's avatar
    Ruben Haag committed
    Pkg.activate(".")
    
    rhaag's avatar
    rhaag committed
    #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.
    
    Ruben Haag's avatar
    Ruben Haag committed
                        #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
    
    rhaag's avatar
    rhaag committed
    
    #include("../RidePooling/src/RidePooling.jl")
    
    Ruben Haag's avatar
    Ruben Haag committed
    using DataFrames
    using CSV
    include("./initialize.jl")
    
    
    
    
    
    index=1
    save_path = pwd()*"/example/ruben/"
    N=10
    
    Ruben Haag's avatar
    Ruben Haag committed
    
    
    # Get Parameters from commandline
    println(ARGS)
    try
        global N = eval(Meta.parse(ARGS[1]))
        global save_path = ARGS[2]
        global index = eval(Meta.parse(ARGS[3]))
        println("Using Command line parameters \n\tN = $N\n\tsave_path = $save_path\n\tindex = $index")
    catch e
    
    rhaag's avatar
    rhaag committed
        println(e)
    
    rhaag's avatar
    rhaag committed
        global N=10
    
        global save_path = Meta.parse(ARGS[1])
        global index = eval(Meta.parse(ARGS[2]))
        println("No N found. Falling back to standart value:\n\tN=$N")
    catch e
    
    rhaag's avatar
    rhaag committed
        println(e)
    
    rhaag's avatar
    rhaag committed
        global save_path = pwd()*"/results/"
        global N=10
    
        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")
    catch e
    
    rhaag's avatar
    rhaag committed
        println(e)
        global index=1
        global save_path = pwd()*"/results/"
        global N=10
    
        println("No Filepath and no Index found. Falling back to standart values:\n\tindex = $index\n\tSave Path = $save_path")
    end
    end
    end
    
    rhaag's avatar
    rhaag committed
    
    
    # Set the Filepaths
    paths = Dict(:data => "data/",
                :model => "model/",
                :map => "example_map/map/",
                :dispatcher => "example_map/delays_wt1reldelta1/")
    
    for (name, path) in paths
        paths[name] = save_path * path
    end
    
    Ruben Haag's avatar
    Ruben Haag committed
    
    
    rhaag's avatar
    rhaag committed
    #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
    
    Ruben Haag's avatar
    Ruben Haag committed
    
    
    requested = 2000 * N
    served = 2000 * N
    
    Ruben Haag's avatar
    Ruben Haag committed
    
    
    rhaag's avatar
    rhaag committed
    include(paths[:map]*"map.jl") #
    
    include(paths[:dispatcher]*"dispatcher.jl")
    
    
    
    
    x, y = getValue(index-1, 4, 60, 40, 0.2, 2.5, 60)
    
    random_gens = Dict(:dropoff => [:notRandom, y*t0])
    
    specs=(;
            map=mymap,
            route_matrix=RM,
            subspaces=:all_edges,
            routing=:lookup,
            speed_dict = speed_dict,
            seed = 1,
    
            request_type= :latest_dropoff,
    
            random_gens = random_gens)
    
    specs = merge(specs, dispatcher)
    
    
    rhaag's avatar
    rhaag committed
    data = simulate_rp(paths,N, x, y, t0, specs, served=served, requested=requested)