整数プログラムを書く必要があります。信じられないほど単純ですが、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();