Swarm intelligence algorithms for multi-objective max-min-ISP
Algorithms implemented on article "On the max-min influence spread problem: A multi-objective optimization approach"
usage: Main.py [-h] [-a] [-r] [-d D] [-t T] [-i I] [-q Q] [--shape SHAPE] [--sym] [--folder FOLDER] [--seed SEED] [--spread SPREAD] [--sum SUM] [--mh MH] [--tagsfile TAGSFILE] [--notags] [--prune] [--prunelowdeg] [--excludenodes EXCLUDENODES] [--includeindegzero] [--nodepthcriteria] [--memfile MEMFILE] file
Calculates the best Influence Spread set on a Weighted Graph using PSO
positional arguments:
file
options:
-h, --help: show this help message and exit
-a: read file input contents as an Adjacency Matrix
-r: reverse nodes order, reads (b,a,w) instead of (a,b,w)
-d D: line separator to use on file parsing
-t T: number of times to execute this solver
-i I: number of metaheuristic iterations per execution
-q Q: fixed quota, use 0 = floor(n/2)+1
--shape SHAPE: shape functions for binarization - list of implemented shape functions: s2, s2_neg, v2, v4
--sym: consider graph as symmetric instead of directed
--folder FOLDER: output folder
--seed SEED: use custom seeds for metaheuristic pseudo RNG
--spread SPREAD: use specific influence spread model funcion - list of implemented models: LT, IC
--sum SUM: adds an extra value to all edge's weight
--mh MH: metaheuristic to use - list of implemented metaheuristics: 1 (Swarm3), 3 (Swarm3_W), 4 (Swarm3_L), 5 (Swarm4)
--tagsfile TAGSFILE: use first row as node tags instead of using plurality criteria
--notags: do not use first row as node tags, instead tags will be calculated
--prune: nodes with (1) outdegree = 0 and indegree > 0, and (2) with outdegree = 1 and neighbor's outdegree > 0 will be excluded
--prunelowdeg: nodes with low outdegree or degree will be excluded
--excludenodes EXCLUDENODES: nodes to skip, must be comma separated
--includeindegzero: forces to include nodes with indegree = 0 on all executions
--nodepthcriteria: particles will not tie off with spread depth in case of having same fitness and spread
--memfile MEMFILE: memory dump of other execution