我需要编写一个整数程序。它非常简单,但问题是几乎没有关于如何使用可调用库为 GLPK 编写整数程序的好信息,更不用说为 GLPK# 编写整数程序了。
我的整数程序看起来很像这样:
Maximise: X[0] + X[1] + ... + X[n];
s.t. X[1] + X[5] <= 1;
X[1] + X[7] <= 1;
X[2] + X[4] <= 1;
X[3] + X[9] <= 1;
...
X[i] = {0,1}
我有一堆二进制 X,我想最大化总和。某些 X 排除了某些其他 X。
到目前为止,我所做的只是
LPProblem lp = new LPProblem()
{
ModelClass = MODELCLASS.MIP,
ObjectiveDirection = OptimisationDirection.MAXIMISE,
ObjectiveName = "Z"
};
// Stuff goes here, I'm not sure how to represent the model
SOLVERSTATUS status = lp.SolveInteger();