Есть ли способ наложить целочисленное ограничение при использовании Variable () в R - PullRequest
0 голосов
/ 24 мая 2019

Пытаясь решить задачу оптимизации в R с помощью Variable () и Problem (), я столкнулся с некоторыми трудностями при наложении целочисленного условия для переменных.

Я знаю, что при использовании Variable () это не оченьинтуитивно понятный и, например, если вы хотите разделить «х», вам нужно использовать inv_pos (x) вместо 1 / x (что дает ошибку).Поэтому я предполагаю, что есть обходной путь, но я не могу его найти.

p <- Variable(100)

objective <- Minimize(sum(p))

constraints <- list(p%%1==0) #this is what I expected to work
constraints <- list((p-1*floor(p))==0) #this is what I expected to work too

problem <- Problem(objective, constraints)

sol <- solve(problem, solver="ECOS") #the problem might not be optimzable 
                                      with ECOS but I have not reached to 
                                      that point

Есть ли способ навязать это "целочисленное" условие?

1 Ответ

1 голос
/ 24 мая 2019

Int доступно для определения целочисленных переменных:

library(CVXR)

p <- Int(100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...