#r #matrix #linear-programming #equation #lpsolve
Вопрос:
Я пытаюсь найти один вектор x с координатами 69195, чтобы
sum(x)=4040
sum(A*x) is minimum
С фиксированной матрицей a. Я хочу решить это как проблему двоичного линейного программирования с помощью пакета «lpsolve».
Моя кодовая программа загружает матрицу A из файла .txt на моем ПК. У меня 69195 строк, 84 столбца и записи равны 0 и 1, есть строки со всеми координатами, равными нулю. Тогда мой код говорит:
B<- as.matrix(rep(1,84),1,84)
f.obj <- t(B)%*%A
f.con <- as.matrix(rep(1,69195),nrow=69195)
f.dir <- "=="
f.rhs <- 4040
solutions <- lp("min", f.obj,f.con,f.dir,f.rhs)
Но когда я запускаю его в Rstudio, он выходит из строя. Он показывает новое окно с надписью «Сеанс R прерван, сеанс был завершен».
В консоли появляется ошибка:
> soluciones <- lp("min", f.obj,f.con,f.dir,f.rhs)
[23690:23690:20211006,123123.522718:ERROR process_memory_range.cc:86] read out of range
[23690:23690:20211006,123123.522763:ERROR elf_image_reader.cc:558] missing nul-terminator
[23690:23690:20211006,123123.522854:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524089:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524124:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524153:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524187:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524216:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524267:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524368:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524397:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524819:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524854:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524886:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23690:20211006,123123.524914:ERROR elf_dynamic_array_reader.h:61] tag not found
[23690:23691:20211006,123123.542383:ERROR directory_reader_posix.cc:42] opendir: No such file or directory (2)
Я запускаю этот код на двух разных компьютерах, на одном с Windows, а на другом с ArchLinux. Я упомянул об этом, потому что я погуглил ошибку, и найденные мной решения зависят от оборудования и системы на компьютере, но, похоже, это не мой случай.
Комментарии:
1. Я остановился на третьей строчке. Вы хотите
Ax
сA
: (69195 x 84) иx
: (69195 x 1). Умножение матриц таким образом не работает,