数学建模社区-数学中国

标题: 如何计算N+N维矩阵中的N数之和,值最大,每行每列仅选一个 [打印本页]

作者: 快到碗里来    时间: 2013-7-17 11:40
标题: 如何计算N+N维矩阵中的N数之和,值最大,每行每列仅选一个
请教各位:如何计算一个N*N维矩阵中的N个数之和,使其最大,其中每行每列均只能选一个元素。比如一个3*3维的矩阵如下:
5   1   6
4   3   4
7   5   1
每一行必须并且只能选择一个元素,每一列同样如此,然后计算这些数之和,使得其在所有组合中值最大,上述例子选择的元素则是(1,3)的6,(2,2)的3,以及(3,1)的7,其和6+3+7=16是所有符合要求的组合中的最大值。
这个如何用matlab程序以最快的运算速度,最小的计算量来实现?正常情况N*N维的矩阵,是有N!种情况,请教各位有经验的人士,如何快速的计算出来,非常非常感谢!
作者: 、后知后觉り.    时间: 2013-7-17 11:41

k=max(a,[],2)%a矩阵的行最大值,每行的一起就出来了。
L=max(a)%a矩阵的列最大值,每一列的。
R=sum(k)%计算每行最大值的和
C=sum(L) %计算每列最大值的和
需要计算的矩阵很多,就把这几行程序写个循环。
作者: 百年孤独    时间: 2013-7-17 12:08
楼主问题解决了吗?
作者: 、后知后觉り.    时间: 2013-7-17 13:00

k=max(a,[],2)%a矩阵的行最大值,每行的一起就出来了。
L=max(a)%a矩阵的列最大值,每一列的。
R=sum(k)%计算每行最大值的和
C=sum(L) %计算每列最大值的和
需要计算的矩阵很多,就把这几行程序写个循环。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5