Algoritmit ottavat sisäänsä sekä järjestelmän rakenteen että epävarmuustekijät: verkko- ja komponenttien rakenne, vikojen todennäköisyydet, varaosien kustannukset ja toimitusajat, huoltoikkunat sekä palvelun vaatimukset. Tavoitteena voi olla minimikustannukset, lyhyimmät vasteajat tai kokonaiskäytettävyyden optimoiminen, kun korvataan poikkeustilanteissa sopivilla substituuteilla.
Tyypillisiä lähestymistapoja ovat graafi- ja verkkoanalyysiin perustuvat menetelmät, jotka kartoittavat substituutiopolkuja, kustannuksia ja toimitusaikoja. Optimointi- ja kokonaislukumenetelmät sekä rajoitteiden täyttömallit auttavat löytämään kustannuksia ja suorituskykyä koskevia kompromisseja. Lisäksi käytetään heuristisia menetelmiä, kuten greedy-tyyppisiä hakualgoritmeja ja paikallishakua, sekä satunnaistettuja menetelmiä kuten geneettisiä algoritmeja suurissa ja monimutkaisissa ongelmissa.
Sovelluksia ovat huolto- ja ylläpitostrategiat, järjestelmän suunnittelu, tuotanto- ja toimitusketju sekä ohjelmisto- ja laitepäivitysten hallinta. Esimerkkinä voidaan kuvitella tuotantolinja, jossa tietyt moduulit ovat varmistettuina ja joissa voidaan korvata vikaantunut osa toisella modulilla, joka täyttää toiminnalliset vaatimukset. Algoritmit antavat päätöksentekijöille tietoa siitä, milloin korvaaminen on kustannustehokasta ja miten vaihtoehtoiset ratkaisut vaikuttavat käytettävyyteen ja suorituskykyyn.
Haasteiksi nousevat epävarmuus vikojen esiintymisessä, datan laatu ja saatavilla olevien tietojen täydellisyys sekä verkostojen ja toimitusaikojen dynaamisuus. Lisäksi kompleksisuus ja mittakaava voivat tehdä ratkaisuista laskennallisesti vaativia, jolloin tarvitaan heuristiikkaa tai hajautettua laskentaa.