Вызов GLPK из C++ при использовании Rcpp

Я разрабатываю часть моего пакета R на C++ с использованием Rcpp, и мне нужно использовать Решатель линейного программирования.

После сравнения некоторых тестов с использованием реализации решателей в R (lpSolveAPI, Rglpk, Rsymphony и т. Д.) Я решил использовать GLPK. Тем не менее, я не нашел хорошего способа использовать его в своем коде C++, разрабатываемом под Windows.

Проще говоря, не существует простого способа просто установить GLPK и вызвать его, используя что-то вроде

#include <glpk.h>

и я не нашел реализации в пакетах R, чтобы я мог использовать ярлык с использованием атрибутов Rcpp, таких как

// [[Rcpp::depends(package)]]

Есть идеи?

1 ответ

Я уверен, что вы знаете о Rglpk пакет и его предшественник glpk, Часто в таких случаях полезно стоять на плечах тех, кто был до нас. Сказав это, мы увидим следующее:

  1. Источник Rglpk требует предварительно установленной системы, не включает связывание и относится только к Linux.

  2. Источник glpk устанавливает заголовки библиотеки непосредственно в R и, кажется, также обеспечивает прямые оболочки в библиотеку.

Учитывая текущие реализации и ваши требования, вы должны были бы создать RcppGLPK пакет. Это в первую очередь потому, что ни у кого нет решения для того, что вам нужно. Я настоятельно рекомендую вам посмотреть, как RcppGSL структурирован.

Другие вопросы по тегам