Nothing
cplex_dir <- normalizePath(Sys.getenv("CPLEX_HOME"))
test_that("virgo_solver works on MWCS", {
if (!file.exists(cplex_dir)) {
skip("No CPLEX available")
}
solver <- virgo_solver(cplex_dir=cplex_dir)
solution <- solve_mwcsp(solver, mwcs_small_instance)
expect_equal(solution$weight, 3)
})
test_that("virgo_solver works on GMWCS", {
if (!file.exists(cplex_dir)) {
skip("No CPLEX available")
}
solver <- virgo_solver(cplex_dir=cplex_dir)
solution <- solve_mwcsp(solver, gmwcs_small_instance)
expect_equal(solution$weight, 11)
})
test_that("virgo_solver works on SGMWCS", {
if (!file.exists(cplex_dir)) {
skip("No CPLEX available")
}
solver <- virgo_solver(cplex_dir=cplex_dir)
solution <- solve_mwcsp(solver, sgmwcs_small_instance)
expect_equal(solution$weight, 51)
})
test_that("heuristic virgo_solver works on MWCS", {
solver <- virgo_solver(cplex_dir=NULL)
solution <- solve_mwcsp(solver, mwcs_small_instance)
expect_equal(solution$weight, 3)
})
test_that("heuristic virgo_solver works on GMWCS", {
solver <- virgo_solver(cplex_dir=NULL)
solution <- solve_mwcsp(solver, gmwcs_small_instance)
expect_gt(solution$weight, 0)
expect_lte(solution$weight, 11)
})
test_that("heuristic virgo_solver works on SGMWCS", {
solver <- virgo_solver(cplex_dir=NULL)
solution <- solve_mwcsp(solver, sgmwcs_small_instance)
expect_equal(solution$weight, 51)
})
test_that("virgo solver doesn't fail on empty output", {
solver <- virgo_solver(cplex_dir = NULL)
g <- igraph::make_full_graph(2)
igraph::E(g)$signal <- "S1"
igraph::V(g)$signal <- c("S2", "S3")
g$signals <- stats::setNames(c(-1, -2, -1), c("S1", "S2", "S3"))
expect_true(!is.null(solve_mwcsp(solver, g)))
})
test_that("virgo solver does not supported repeated negative signals", {
sgmwcs_edges <- data.frame(from = c(1, 2, 2, 3, 4, 5, 1),
to = c(2, 3, 4, 4, 6, 6, 5),
signal = c("S6", "S2", "S7", "S2", "S8", "S9", "S10"))
sgmwcs_instance <- igraph::graph_from_data_frame(sgmwcs_edges,
directed = FALSE)
igraph::V(sgmwcs_instance)$signal <- c("S1", "S3", "S4", "S5", "S1", "S1")
sgmwcs_instance$signals <- stats::setNames(c(7.0, -20.0, 40.0, 15.0, 8.0, 3.0, -7.0, -10.0,
-2.0, -15.3, 1.0),
paste0("S", 1:11))
solver <- virgo_solver(cplex_dir=NULL)
expect_error(solution <- solve_mwcsp(solver, sgmwcs_instance))
})
test_that("heuristic virgo_solver works on SGMWCS", {
solver <- virgo_solver(cplex_dir=NULL)
si <- sgmwcs_small_instance
si$signals <- c(si$signals, "neg"=-1)
solution <- solve_mwcsp(solver, si)
expect_true(!is.null(solution))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.