数学建模社区-数学中国

标题: matlab程序方面 [打印本页]

作者: l刘书伶    时间: 2013-8-24 11:16
标题: matlab程序方面
在指派问题中:* v) y3 o/ \! i, l  U+ l
c=[3 8 2 10 3;8 7 2 9 7;6 4 2 7 5;8 4 2 3 5;9 10 6 9 0];
! m3 z& J" ]2 b. I. yc=c(;
- z/ N4 o8 L/ T- Ra=zeros(10,25);6 ^( z/ P% M! T! ]( s/ w. P
(这一步为什么要创造一个10*25矩阵呀)4 W) F/ ]5 m3 n9 {
for i=1:54 A% S+ T; p) v" N6 M& K: p
   a(i,(i-1)*5+1:5*i)=1;(此处看不懂)# s9 j* G) z+ p1 o- f& O3 C/ N: l1 k
  a(5+i,i:5:25)=1;(此处看不懂)* h& _0 m0 B8 ~9 r' T2 w$ ]
end3 ]* ^  j. U: N( ^
b=ones(10,1);
* J- R/ G# c- N& O" }: X/ W9 E[x,y]=bintprog(c,[],[],a,b);
6 M7 ]5 z' u6 ax=reshape(x,[5,5]),y  z* {( K5 A- T  N* ?
这个程序有几处看不懂,希望高手解答,谢谢!% ?& ]* a* Z; Q

作者: kong1234    时间: 2013-8-24 12:10
楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下
作者: l刘书伶    时间: 2013-8-24 12:24
kong1234 发表于 2013-8-24 12:10 ) s% d' d3 w3 y4 g% u+ W7 j! }
楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下
" D1 t7 P* Q' H2 C3 c1 b) B$ C
就是指派5个人去干5项工作,每人干且仅干一项工作,若分配弟i个人去干弟j项工作,需要花费c(i,j)单位时间,问如何分配工作才能使得工人花费的总时间最少。。。。
作者: l刘书伶    时间: 2013-8-24 12:29
kong1234 发表于 2013-8-24 12:10
# @- N, O# a' m楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下

, ^% S6 o5 c/ N8 u问题背景:就是指派5个人去做5项工作,每人干且仅干一项工作,若分配第i人去干第j项工作,需要花费才(i,j)单位时间,问应该如何分配工作才能使得总的时间最少。。。。谢谢了
作者: l刘书伶    时间: 2013-8-24 12:42
kong1234 发表于 2013-8-24 12:10
- `3 r, x/ b' H# v7 s楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下
* b' s4 k1 W% A- r
问题背景:就是分配5个人去干5项工作,每人干且仅干一项工作,若分配第i个人去干第j项工作,需要花费c(i,j)单位时间,问如何分配工作能使得工人花费时间最少。。。谢谢了。。
作者: l刘书伶    时间: 2013-8-24 12:42
问题背景:就是分配5个人去干5项工作,每人干且仅干一项工作,若分配第i个人去干第j项工作,需要花费c(i,j)单位时间,问如何分配工作能使得工人花费时间最少。。。谢谢了。。
作者: magic2728    时间: 2013-8-24 14:18
这是指派问题的matlab线性规划解法。由于matlab的函数格式只能是x为列向量,所以必须把指派矩阵拉成一列,而对应的限定条件也就变成了a(10,25)。10是10个限定条件决定的,25是25个xij值,你看不懂的for循环里的两句话是指的行和,列和分别为0的意思。
作者: l刘书伶    时间: 2013-8-24 18:34
magic2728 发表于 2013-8-24 14:18 ; w% G! Y2 l. G/ q" ~, H
这是指派问题的matlab线性规划解法。由于matlab的函数格式只能是x为列向量,所以必须把指派矩阵拉成一列,而 ...
  Y# U% _! y2 a9 F5 L: w
恩恩,搞懂了,谢谢!
作者: 小黑主    时间: 2013-8-25 11:27
指派问题中包含了几种算法,其中最常见的算法就是匈牙利算法,在此种算法中需要构建矩阵,那个循环你把值带进去就知道了




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