将5*5的c按照列重新排列为25行1列的列向量
a(i,(i-1)*5+1:5*i)=1
通过循环,将a的第一行的1到5,第二行的6到10...
一直到第五行的21到25赋值为1
同时,将a的第六行的1、6、11、16、21
第七行的2、7、12、17、22
第八行的3、8、13、18、23
第九行的4、9、14、19、24
第十行的5、10、15、20、25赋值为1
像这类问题一般都会有代码说明的吧?
从代码看,是要把5个物品放在一个5x5的方阵中,且每行、每列都必须且只能有一个物品。使用0-1整数规划的函数bintprog求解,就要把这5x5的位置看成25个优化变量,每个变量只能取0或1。a和b表示等式约束,10行表示10个等式,其中前5个表示每行有一个物品,后5行表示每列有一个物品。
这么解释,应该差不多能明白了吧?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)