Skip to content

Repository files navigation

Reliability-Based Genetic-Algorithm Baseline for Bridge Life-Cycle Optimization

Python License: MIT Paper

Reliability-based optimization of element-level bridge maintenance policies with a genetic algorithm (GA). Four reliability-index (β) thresholds are treated as decision variables and optimized with PyGAD to minimize the expected discounted life-cycle cost (LCC) of a deteriorating steel-girder element (National Bridge Element 107).

This repository is the reliability-based GA benchmark from the paper:

Interpretable Deep Reinforcement Learning for Element-level Bridge Life-cycle Optimization Seyyed Amirhossein Moayyedi and David Y. Yang, Portland State University. arXiv:2604.02528  ·  https://arxiv.org/abs/2604.02528

In the paper, the GA policy is compared against a dynamic-programming (DP) condition-based policy and the paper's main contribution — an interpretable soft-tree / oblique-decision-tree reinforcement-learning actor. All methods are evaluated on the same Gymnasium/TorchRL environment, so their life-cycle costs are directly comparable.


Method in brief

Each year, the element's condition is an array of condition-state (CS) proportions s = [s₁, s₂, s₃, s₄]. This is mapped to a single reliability index

β(s) = Φ⁻¹(1 − pf(s)),   pf(s) = pf_arrayᵀ · s

and a maintenance action is chosen by comparing β(s) against four optimized thresholds β₁ ≥ β₂ ≥ β₃ ≥ β₄ (five actions: do-nothing, maintenance, repair, rehabilitation, replacement):

action = 0  (do nothing)       if  β(s) >  β₁
         1  (maintenance)       if  β₂ ≤ β(s) < β₁
         2  (repair)            if  β₃ ≤ β(s) < β₂
         3  (rehabilitation)    if  β₄ ≤ β(s) < β₃
         4  (replacement)       if  β(s) < β₄

The GA searches for the thresholds that minimize the expected discounted LCC over a finite horizon, propagating the CS distribution through action-dependent Markov transition matrices and accumulating direct maintenance cost plus discounted failure risk.

Results

Optimized β-thresholds reproduced by this repository (pygad_beta_dp_report.json):

Threshold β₁ β₂ β₃ β₄
Value 4.200 3.558 3.367 3.191

Because β₁ ≈ 4.200 sits at the upper bound of attainable reliability, the do-nothing option is effectively never selected — matching Eq. (18) of the paper.

Life-cycle cost comparison (paper, Table 8; 1,000 validation episodes):

Policy Mean LCC Std
Oblique decision tree (RL) 1590.86 740.31
Oblique decision tree (RL + ad hoc rule) 1560.96 672.09
Condition-based policy (DP) 2133.42 1178.30
Reliability-based policy (GA — this repo) 1758.91 918.04

Reproducing this repository yields a GA mean LCC of ≈ 1782 (over the fixed initial-state panel) / ≈ 1774 (1,000 evaluation episodes), within ~1% of the published 1758.91; the small difference comes from library and RNG versions. The optimized β-thresholds reproduce the paper exactly.

GA learning curve
GA convergence: best expected discounted cost per generation.

Initial reliability vs life-cycle cost
Life-cycle cost of the optimized GA policy as a function of the element's initial reliability index, over 1,000 evaluation episodes.

License

Released under the MIT License.

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages