virgo_solver {mwcsr} | R Documentation |
Construct a virgo solver
Description
This solver uses reformulation of MWCS problem in terms of mixed integer programming. The later problem can be efficiently solved with commercial optimization software. Exact version of solver uses CPLEX and requires it to be installed. CPLEX 12.7.1 or higher is required.
Usage
virgo_solver(
cplex_dir,
threads = parallel::detectCores(),
timelimit = NULL,
penalty = 0,
memory = "2G",
log = 0,
cplex_bin = NULL,
cplex_jar = NULL,
mst = FALSE,
dryrun = FALSE,
jvmargs = NULL
)
Arguments
cplex_dir |
a path to dir containing cplex_bin and cplex_jar,
setting this to NULL sets |
threads |
number of threads for simultaneous computation |
timelimit |
maximum number of seconds to solve the problem |
penalty |
additional edge penalty for graph edges |
memory |
maximum amount of memory(-Xmx flag) |
log |
verbosity level |
cplex_bin |
a path to cplex binary dir |
cplex_jar |
a path to cplex jar file |
mst |
whether to use approximate MST solver, no CPLEX files required with this parameter
is set to |
dryrun |
if set to |
jvmargs |
character vector with additional arguments for Java Virtual Machine |
Details
The solver currently does not support repeated negative signals, i.e. every negative signal should be present only once among all edges and vertices.
You can access solver directly using run_main
function. See example.
Value
An object of class mwcs_solver
.
References
Loboda A., Artyomov M., and Sergushichev A. (2016) "Solving generalized maximum-weight connected subgraph problem for network enrichment analysis" doi:10.1007/978-3-319-43681-4_17
Examples
data("sgmwcs_small_instance")
approx_vs <- virgo_solver(mst=TRUE, threads = 1)
approx_vs$run_main("-h")
sol <- solve_mwcsp(approx_vs, sgmwcs_small_instance)
## Not run:
vs <- virgo_solver(cplex_dir='/path/to/cplex')
sol <- solve_mwcsp(approx_vs, sgmwcs_example)
## End(Not run)