You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更换电脑后ompr.highs包运行报错:unused argument (dry_run = FALSE)

解决ompr.highs包运行时unused argument (dry_run = FALSE)错误

问题描述

更换电脑后,使用ompr.highs包运行代码时触发错误,示例代码如下:

library(ompr)
library(ompr.highs)
suppressPackageStartupMessages(library(dplyr, quietly = TRUE))
max_bins <- 10
bin_size <- 3
n <- 10
weights <- runif(n, max = bin_size)
MIPModel() |>
  add_variable(y[i], i = 1:max_bins, type = "binary") |>
  add_variable(x[i, j], i = 1:max_bins, j = 1:n, type = "binary") |>
  set_objective(sum_over(y[i], i = 1:max_bins), "min") |>
  add_constraint(sum_over(weights[j] * x[i, j], j = 1:n) <= y[i] * bin_size, i = 1:max_bins) |>
  add_constraint(sum_over(x[i, j], i = 1:max_bins) == 1, j = 1:n) |>
  solve_model(highs_optimizer()) |>
  get_solution(x[i, j]) |>
  filter(value > 0.9) |>
  arrange(i, j)

设备环境:R版本4.2.0,最新版RStudio

报错信息:

Error in highs_solve(L = as.numeric(obj$solution), A = constraints$matrix, :

unused argument (dry_run = FALSE)

该代码在其他电脑可正常运行,处理复杂问题时也出现相同错误。

解决办法

这个错误源于ompr.highs与依赖的highs包版本不匹配:新版本highs移除了dry_run参数,但旧版ompr.highs仍在调用该参数,导致冲突。

具体修复步骤

  1. 卸载现有冲突包:
    remove.packages(c("ompr.highs", "highs"))
    
  2. 安装兼容版本:
    • 针对R 4.2.0,推荐安装highs 1.0.0和ompr.highs 0.5.0:
      install.packages("highs", version = "1.0.0", repos = "https://cran.r-project.org/")
      install.packages("ompr.highs", version = "0.5.0", repos = "https://cran.r-project.org/")
      
    • 或者直接安装ompr.highs最新兼容版,它会自动匹配合适的highs版本:
      install.packages("ompr.highs", dependencies = TRUE)
      
  3. 重启RStudio,重新运行代码即可。

另外,建议将R版本升级到4.3.x及以上稳定版,新版本对包的兼容性更好,能减少这类版本冲突问题。

内容的提问来源于stack exchange,提问作者Mousta1101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:50:22