不知道兄弟手边有没有整行规划的solver,有的话以下是我的思路
首先抛开每列和为0的约束,这个约束很弱,其他条件满足之后应该可以轻易的手调得到(交换同行数字)
在这个规划里,xi表示第 i 个三元组的数量
比如 x1 表示 (-2 -1 1) 的数量,x2表示(-3 0 1), x3表示(-3 -2 3)等等,假设只有这三组数字的和为-2(懒得穷举了),那么
x1 + x2 + x3 = 3
另外根据只有5个或6个-3可以列出
x2 + x3 + ... = 5 / 6
最后,总共16行
\Sigma xi = 16
天然的
xi >= 0
这样所有约束都已经被表示
找个solver解一下就是了
问题输入比较费劲,大概1-2小时的工作量吧
matlab里面似乎记得有solver,或者网上下个c code / binary