JuliaReach / ReachabilityBenchmarks

JuliaReach benchmark suite
MIT License
4 stars 1 forks source link

Building - RA #200

Closed mforets closed 4 years ago

mforets commented 4 years ago

Comparing to the results from last year, the flowpipe with GLGM06 is bigger. I used the same time step but did not play with other parameters.

Result from last year (using BFFPSV18): BLDF01_time_horizon_1

Current result (using GLGM06): BLDF01_time_horizon_1

mforets commented 4 years ago

For this 48-dimensional system if we try with BOX with a step size smaller than 1e-3 the result is below the 0.0051 threshold and it takes that much:

@time sol = solve(problem, T=time_horizon, alg=BOX(δ=1e-3/2));
  0.561772 seconds (400.86 k allocations: 827.052 MiB, 7.95% gc time)

Screenshot from 2020-05-23 01-21-20

On the other hand, we should be able to use decomposition as one is only interested in variable x25 for the safety property.

mforets commented 4 years ago

About your question i can see that last year we used block_options_init=>LinearMap which means that the cartesian decomposition of the (discretized) initial states is lazy. I suspect that explains the better precision for step size 1e-3.

mforets commented 4 years ago

cc @dfcaporale

mforets commented 4 years ago

This is the result obtained using LGG09 (which uses the lazy Omega0):

e25 = zeros(48); e25[25] = 1.0
alg = LGG09(δ=1e-3, template=CustomDirections([e25, -e25]))
sol = solve(problem, T=20.0, alg=alg);

@btime solve($problem, T=20.0, alg=$alg);
    78.247 ms (160564 allocations: 32.46 MiB)

Screenshot from 2020-05-29 11-23-21

mforets commented 4 years ago

updated in https://juliareach.github.io/ReachabilityAnalysis.jl/dev/models/building/