Я нашел объяснение в документах здесь и здесь:
vbasis
Переменные базовые значения статуса для вычисленного оптимального базиса. Как правило, вам не следует интересоваться содержимым этого массива. Если вы хотите использовать расширенный запуск позже, вы просто скопируете массивы vbasis и cbasis в соответствующие поля для следующей модели. Этот массив содержит по одной записи для каждого столбца A.cbasis
Значения состояния базы ограничений для вычисленного оптимального базиса. Этот массив содержит одну запись для каждой строки A.
И позже:
Наконец, если окончательное решение является базовым (вычисленным симплексным методом), тогда будут присутствовать vbasis и cbasis.
Я не понимаю, почему я не получаю эти значения - может быть, я что-то упускаю.
Воспроизводимый пример:
model <- list()
model$A <- matrix(c(1, 1, 1, 0,
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1), nrow = 5, ncol = 4, byrow = T)
model$obj <- c(2, -5, 3, 10)
model$modelsense <- "min"
model$rhs <- c(15, 7, 3, 5, 1)
model$sense <- c('=', '<=', '<=', '<=', '>')
model$vtype <- 'I'
params <- list(OutputFlag = 1, Presolve = 2, TimeLimit = 3600)
result <- gurobi::gurobi(model, params)
names(result)
[1] "status" "runtime" "itercount" "baritercount" "nodecount" "objval" "x" "slack" "objbound"