Я разрабатываю часть моего пакета R на C ++ с использованием Rcpp, и мне нужно использовать Решатель линейного программирования.
После сравнения некоторых тестов с использованием реализации решателей в R (lpSolveAPI, Rglpk, Rsymphony и т. Д.) Я решил использовать GLPK. Тем не менее, я не нашел хорошего способа использовать его в своем коде C ++, разрабатываемом под Windows.
Проще говоря, не существует простого способа просто установить GLPK и вызвать его, используя что-то вроде
#include <glpk.h>
и я не нашел реализации в пакетах R, чтобы я мог использовать ярлык с использованием атрибутов Rcpp, таких как
// [[Rcpp::depends(package)]]
Есть идеи?
Я уверен, что вы знаете о Rglpk
пакет и его предшественник glpk
. Часто в таких случаях полезно стоять на плечах тех, кто был до нас. Сказав это, мы увидим следующее:
источник Rglpk
требует предварительно установленной системы, не включает связывание и относится только к Linux.
источник glpk
устанавливает заголовки библиотеки непосредственно в R и, кажется, также обеспечивает прямые обертки в библиотеку.
Учитывая текущие реализации и ваши требования, вы должны были бы создать RcppGLPK
пакет. Это в первую очередь потому, что ни у кого нет решения для того, что вам нужно. Я настоятельно рекомендую вам посмотреть, как RcppGSL
структурирован.
Других решений пока нет …