C++ 硬币还是线性规划:ClpPlusMinusOneMatrix表示

C++ 硬币还是线性规划:ClpPlusMinusOneMatrix表示,c++,coin-or-cbc,C++,Coin Or Cbc,我在用图书馆。我想建造一个。其构造是: ClpPlusMinusOneMatrix (int numberRows, int numberColumns, bool columnOrdered, const int *indices, const CoinBigIndex *startPositive,

我在用图书馆。我想建造一个。其构造是:

ClpPlusMinusOneMatrix (int numberRows, 
                       int numberColumns, 
                       bool columnOrdered, 
                       const int *indices, 
                       const CoinBigIndex *startPositive, 
                       const CoinBigIndex *startNegative);
现在还不清楚什么是
startPositive
startNegative
。如果它与另一个类中描述的概念相同,那么矩阵如何区分+1和-1值

例如,如果我想实现1x4矩阵:
[1-11-1]
。中电如何知道最后两个元素的值

#include <coin/ClpPlusMinusOneMatrix.hpp>

int main()
{
        int indices [4] {0, 1, 2, 3}; 
        CoinBigIndex startPositive [2] {0, 4}; 
        CoinBigIndex startNegative [2] {1, 4}; 
        ClpPlusMinusOneMatrix(1, 4, false, indices, startPositive, startNegative);
}
#包括
int main()
{
整数指数[4]{0,1,2,3};
CoinBigIndex起始正[2]{0,4};
CoinBigIndex开始负[2]{1,4};
ClpPlusMinusOneMatrix(1,4,假,索引,起始正,起始负);
}

谢谢

如果您浏览源代码,您可以推断出
startPositive
startNegative
是什么。首先,矩阵的构造必须确保所有+1元素都必须位于行中的所有-1值之前(如果是行主值),或者列中的所有-1值之前(如果是列主值)。然后,
startPositive[i]
只是行
i
中第一个+1的元素索引,如果行主要,或者列
i
如果列主要

你确定这个例子给了你
[[1-1][1-1]]
?我不知道这个答案给出了什么,这部分是问题所在。我在问我如何构造1x4矩阵[1,-1,1-1]。线性规划与此无关。@EJP虽然我明白你的意思,但这句话很不幸是孤立的:-)@sascha请澄清你的评论。我不明白。