cvxgrp / CVXR

An R modeling language for convex optimization problems.

Home Page:https://cvxr.rbind.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GLPK_MI, feasible solution, error: "the condition has length > 1"

mmorinosd opened this issue · comments

Describe the bug
When we solve a MIP with a time limit and GLPK_MI, we get the following error message when the time limit is reached:
Error in if (solution[[STATUS]] %in% SOLUTION_PRESENT) { :
the condition has length > 1

It seems related to the condition on line 1672 in the file conic_solvers.R

To Reproduce
Solve a sufficiently large model with GLPK_MI using the psolve function with the TimeLimit parameter set to a value such that the time limit is reached.

Expected behavior
CVXR should return the status if a feasible solution is found. There should be no error.

Output
Error in if (solution[[STATUS]] %in% SOLUTION_PRESENT) { :
the condition has length > 1

Version
R version 4.2.1 (2022-06-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Pop!_OS 20.04 LTS

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/liblapack.so.3

locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_CA.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] tictoc_1.1 forcats_0.5.2 stringr_1.4.1 dplyr_1.0.10 purrr_0.3.5 readr_2.1.3 tidyr_1.2.1 tibble_3.1.8 ggplot2_3.4.0 tidyverse_1.3.2

loaded via a namespace (and not attached):
[1] Rcpp_1.0.9 lubridate_1.9.0 lattice_0.20-45 assertthat_0.2.1 digest_0.6.30 utf8_1.2.2 gmp_0.6-7 slam_0.1-50
[9] R6_2.5.1 cellranger_1.1.0 backports_1.4.1 reprex_2.0.2 evaluate_0.18 httr_1.4.4 pillar_1.8.1 rlang_1.0.6
[17] googlesheets4_1.0.1 readxl_1.4.1 rstudioapi_0.14 jquerylib_0.1.4 Matrix_1.5-1 rmarkdown_2.17 googledrive_2.0.0 bit_4.0.4
[25] munsell_0.5.0 broom_1.0.1 compiler_4.2.1 modelr_0.1.9 xfun_0.34 pkgconfig_2.0.3 CVXR_1.0-11 Rglpk_0.6-4
[33] htmltools_0.5.3 tidyselect_1.2.0 fansi_1.0.3 crayon_1.5.2 tzdb_0.3.0 dbplyr_2.2.1 withr_2.5.0 grid_4.2.1
[41] jsonlite_1.8.3 gtable_0.3.1 lifecycle_1.0.3 DBI_1.1.3 magrittr_2.0.3 scales_1.2.1 cachem_1.0.6 cli_3.4.1
[49] stringi_1.7.8 Rmpfr_0.8-9 fs_1.5.2 bslib_0.4.1 xml2_1.3.3 ellipsis_0.3.2 generics_0.1.3 vctrs_0.5.0
[57] tools_4.2.1 bit64_4.0.5 glue_1.6.2 hms_1.1.2 yaml_2.3.6 fastmap_1.1.0 timechange_0.1.1 colorspace_2.0-3
[65] gargle_1.2.1 rvest_1.0.3 knitr_1.40 haven_2.5.1 sass_0.4.2

Could you provide an example, however artificial, that triggers this? That would be the fastest way for us to address this issue.