Загрузить все ограничения в объект линейного программирования - lpSolveAPI

Привет и заранее спасибо. Я использую пакет lpSolveAPI для решения задачи линейного программирования. Когда я создаю свой объект линейного программирования, а затем добавляю свои ограничения, я перебираю все строки в моей матрице ограничений mat и добавляю ограничения отдельно. Пример здесь, похоже, делает то же самое, за исключением путем установки столбцов. Должен ли я добавлять каждое ограничение отдельно? Или есть способ просто прикрепить сразу всю матрицу ограничений, вектор направления и правые векторы?

  #Generate Linear Programming Object
  lprec <- make.lp(nrow = nrow(mat) # Number of Constraints
                   , ncol = ncol(mat) # Number of Decision Variables
  )


  #Set Objective Function to Minimize
  set.objfn(lprec, obj)

  #Adding Constraints Separately
  #Note Direction is included along with Constraint Value
  for(i in 1:nrow(mat) ){
    add.constraint(lprec,mat[i,], dir[i], rhs[i])
    print(i)
  }

person gtnbz2nyt    schedule 06.03.2015    source источник


Ответы (1)


lpSolveAPI не позволяет этого, но вы можете использовать lpsove, который является еще одним пакетом / интерфейсом для Lp_solve.

lprec <- lp(const.mat=mat, ...)

Таким же образом направление и цель могут быть представлены как векторы с использованием параметров const.dir и objective.

person Riadh    schedule 26.05.2015