You can download from here some of the codes we described in our publications. We hope these codes will be helpful for a reader to better understand our papers, and/or to reproduce/check the results in our manuscripts.

Caution: There is no guarantee that these codes are correct. If you find any mistakes in these codes, we will be very grateful to know.

  1. Shortest-Solution guided Decimation (SSD) algorithm.
    Version 04 SSDv04.cpp (or ssd.m, implemented by Mutian Shen and Pan Zhang) employs SVD and is quite slow.
    Version 06 SSDv06.cpp (or ssdv06.m and guidance_convex.m, implemented by Mutian Shen) employs optimized dual ascent and is much faster.
    AAA_1000_1000.mtx (example matrix) and xxx0_1000_50.dat00 (example planted solution).

  1. Optimal network attack problem.
    BPD-guided attack algorithm (updated on 28.03.2016):
    TAbyFVSbpdV03.cpp
    zhjrandom.h
    ERn100kM1m.g100 (example graph instance)

  2. Directed Feedback Vertex Set (DFVS) problem.
    BPD (belief propagation-guided decimation) algorithm (updated on 08.05.2016):
    DFVSbpdV04.cpp
    zhjrandom.h
    RRRa10n10k.g00 (example directed graph instance)

  3. Undirected Feedback Vertex Set (FVS) problem.
    BPD (belief propagation-guided decimation) algorithm (updated on 08.09.2015):
    FVSbpdV01.cpp
    zhjrandom.h
    ERn100kM1m.g100 (example graph instance)

  4. Feedback arc set (FAS) problem.
    Simulated annealing (updated on 09.07.2017):
    FASbySAv01.cpp or FASbySAv02.cpp
    BPD (belief propagation-guided decimation) algorithm (updated on 24.10.2016):
    FASmodelBbpdV02.cpp
    zhjrandom.h
    Graph example courtesy of Dr. Yuhan Chen: Celegans_Chen_Yuhan.dat

  5. Undirected Dominating Set (DS) problem.
    BPD (belief propagation-guided decimation) algorithm (updated on 02.10.2014)
    DSbpdV03.cpp
    An efficient local greedy algorithm (updated on 30.09.2014)
    GLRandGreedyDSV02b.cpp
    zhjrandom.h
    ERn100kM1m.g100 (example graph instance)