这个在LINGO中应该不难。我们随便找一个33的矩阵测试一下,很自然地可以推广到1317.
MODEL:
SETS:
ROW/1..3/;
COL/1..3/;
MATRIX(ROW,COL):X,CH;
ENDSETS
!随便找一个3*3的矩阵;
DATA:
X=
1,20,355
478,5,60
456,8,91;
原文:https://zhidao.baidu.com/question/1754849047665225868.html
ENDDATA
!定义目标函数;
MIN=@SUM(MATRIX(I,J):CH(I,J)*X(I,J));
!定义约束条件;
!每行只选一个元素;
@FOR(ROW(I):@SUM(MATRIX(I,J):CH(I,J))=1);
!每列不重复,即每列只选1个元素(不知道对不对,你再推敲一下);
@FOR(COL(J):@SUM(MATRIX(I,J):CH(I,J))=1);
!CH是一个0-1变量;
@FOR(MATRIX(I,J):@BIN(CH(I,J)));
END