Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary
Last synced: 8 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: FriesischScott
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Size: 29.3 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Created over 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

ResilienceDecisionMaking.jl

DOI

This package contains the code and examples for the resilience decision-making method presented in Salomon et al. (2022).

Installation

The package is registered in the Julia General registry and can be installed from Pkg with

julia ] add ResilienceDecisionMaking

Getting started

The main interface of the resilience decision making method is the grid_search method which returns the computed resilience values as a Dict of the endowment configurations, the coefficient of variation and the pareto front. To explain we use the example of the multistage high-speed axial compressor as presented in the paper. First, we define a system representation in this case the adjacency matrix of the system as

julia A = [ 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ]

We further define the maximum values of the endowment configurations we want to explore and the time as a tuple of minimum and maximum as well as the number of time steps

```julia endowments = [20, 20, 20, 20]

t = (0.0, 10.0) tₙ = 200 ```

Next, we define a function failure_rates which returns the current failure rates of all components for all time steps times for the current endowment configuration η

```julia λ = 0.8

function failure_rates(times::Vector{T} where {T<:Real}, η::Vector{T} where {T<:Integer}) rates = [ (λ - 0.03 * η[1]) * ones(2)..., (λ - 0.03 * η[2]), (λ - 0.03 * η[3]), (λ - 0.03 * η[4]) * ones(4)..., ] return hcat([rates for _ in 1:length(times)]...) end ```

Finally, we define the recovery behaviour of the components through the recovery! function. This function must update the components and recovery_times vectors in place (!) and return nothing. Note, that in this example recovery is independent of η. See the other demo example for how to use η to influence the recovery of components.

```julia r_max = 21

function recovery!(components, recoverytimes, η) for (i, (c, r)) in enumerate(zip(components, recoverytimes)) if ~c if r >= rmax - 11 components[i] = true recoverytimes[i] = 1 else recoverytimes[i] = recoverytimes[i] + 1 end end end

return nothing

end ```

Finally, we can run the grid_search where configurations are accepted if the resilience value is above α = 0.85. We also pass a structure function evaluating of the system is currently working (s-t-connectivity) and the number of samples (500) to use per resilience computation.

```julia α = 0.85

res, σ, front = gridsearch( A, endowments, t, tₙ, failurerates, recovery!, ResilienceDecisionMaking.stconnectivity([1, 3], [5, 6, 7, 8]), 500, α, true, # only return the "dominant" entries of the pareto front ) ```

References

Salomon, J., Behrensdorf, J., Winnewisser, N., Broggi, M., & Beer, M. (2022). Multidimensional resilience decision-making for complex and substructured systems. Resilient Cities and Structures, 1(3), 61-78, 10.1016/j.rcns.2022.10.005.

Owner

  • Name: Jasper Behrensdorf
  • Login: FriesischScott
  • Kind: user
  • Location: Hannover, Germany
  • Company: Leibniz University Hannover

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Behrensdorf"
    given-names: "Jasper"
    orcid: "https://orcid.org/0000-0001-9628-7250"
  - family-names: "Salomon"
    given-names: "Julian"
    orcid: "https://orcid.org/0000-0002-5184-6968"
  - family-names: "Winnewisser"
    given-names: "Niklas"
    orcid: "https://orcid.org/0000-0003-0694-1349"
title: "SurvivalSignature.jl"
doi: 10.5281/zenodo.7034998
license: MIT
url: "https://github.com/FriesischScott/ResilienceDecisionMaking.jl"
preferred-citation:
  type: article
  authors:
    - family-names: "Salomon"
      given-names: "Julian"
      orcid: "https://orcid.org/0000-0002-5184-6968"
    - family-names: "Behrensdorf"
      given-names: "Jasper"
      orcid: "https://orcid.org/0000-0001-9628-7250"
    - family-names: "Winnewisser"
      given-names: "Niklas"
      orcid: "https://orcid.org/0000-0003-0694-1349"
    - family-names: "Broggi"
      given-names: "Matteo"
      orcid: "https://orcid.org/0000-0002-3683-3907"
    - family-names: "Beer"
      given-names: "Michael"
      orcid: "https://orcid.org/0000-0002-0611-0345"
  doi: "10.1016/j.rcns.2022.10.005"
  journal: "Resilient Cities and Structures"
  title: "Multidimensional resilience decision-making for complex and substructured systems"
  volume: 1
  issue: 3
  start: 61
  end: 78
  year: 2022

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: less than a minute
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JuliaTagBot (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
juliahub.com: ResilienceDecisionMaking
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 10.2%
Dependent packages count: 37.6%
Average: 44.2%
Forks count: 54.2%
Stargazers count: 74.8%
Last synced: 9 months ago

Dependencies

.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite