Nothing
data("gam_example")
set.seed(42L)
test_that("rmwcs solver can be constructed with specific parameters", {
solver <- rmwcs_solver()
expect_equal(solver$separation, "strong")
timelimit(solver) <- 20
expect_equal(solver$timelimit, 20)
})
test_that("one vertex best solution is returned", {
solver <- rmwcs_solver()
g <- igraph::make_graph(c("A", "B"), directed = FALSE)
V(g)$weight <- c(5, -2)
solution <- solve_mwcsp(solver, g)
expect_equal(solution$weight, 5)
})
test_that("rmwcs solver works on specific test", {
solver <- rmwcs_solver()
g <- make_ring(5) %>% set.vertex.attribute("weight", value = 2:-2)
s <- solve_mwcsp(solver, g)
expect_equal(s$weight, 3)
expect_true(s$solved_to_optimality)
})
test_that("rmwcs solver doesn't crash on simple graphs", {
solver <- rmwcs_solver()
size <- 10
card <- 3
test_graph <- function(make) {
scores <- runif(size) - 0.5;
g <- make(size) %>% set.vertex.attribute("weight", value = scores)
solve_mwcsp(solver, g)
solution <- solve_mwcsp(solver, g, max_cardinality = card)
expect_lte(length(V(solution$graph)), 3)
g <- set.vertex.attribute(g, name = "budget_cost", value = runif(size))
V(g)$weight <- 1
solution <- solve_mwcsp(solver, g, budget = card)
expect_lte(sum(V(solution$graph)$budget_cost), card)
}
test_graph(make_ring)
test_graph(function(x) make_star(x, mode = "undirected"))
test_graph(make_full_graph)
})
test_that("rmwcs solver builds connected solutions on a GAM instance", {
solver <- rmwcs_solver()
sol <- solve_mwcsp(solver, gam_example)
expect_true(is.connected(sol$graph))
})
test_that("rmwcs solver works with empty solutions", {
solver <- rmwcs_solver()
g <- graph.ring(10)
V(g)$weight <- -1
sol <- solve_mwcsp(solver, g)
expect_true(vcount(sol$graph) == 0)
})
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.