数学建模社区-数学中国

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

作者: l刘书伶    时间: 2013-8-24 11:16
标题: matlab程序方面
在指派问题中:
7 ^, p- z2 l1 k$ Z! E8 ~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];# N% c' G5 I6 y9 O; m
c=c(;8 T# c: T4 D0 ]$ V; O9 y
a=zeros(10,25);2 w) l7 J# Q' @* G
(这一步为什么要创造一个10*25矩阵呀)6 p- H: ?, Q+ J
for i=1:5- w% g4 F3 p. B5 l" l+ X
   a(i,(i-1)*5+1:5*i)=1;(此处看不懂)
8 v, w, @8 Y3 A6 L6 e. @) N% G+ a  a(5+i,i:5:25)=1;(此处看不懂)( c* X$ @7 {$ C4 C1 _* }: q
end
$ c+ B1 D, N4 a+ t1 |) Cb=ones(10,1);& F& E* K) [' d: s# H4 w
[x,y]=bintprog(c,[],[],a,b);
3 j/ \# {$ ^3 n9 h* v$ x: g% Qx=reshape(x,[5,5]),y8 k  Y, Y# X' V' f
这个程序有几处看不懂,希望高手解答,谢谢!
7 _' s5 _: b4 g7 ]; u) R
作者: kong1234    时间: 2013-8-24 12:10
楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下
作者: l刘书伶    时间: 2013-8-24 12:24
kong1234 发表于 2013-8-24 12:10
7 Z$ Z  M3 B. V- Q) D楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下
) ]& M7 B( b  f" i1 e
就是指派5个人去干5项工作,每人干且仅干一项工作,若分配弟i个人去干弟j项工作,需要花费c(i,j)单位时间,问如何分配工作才能使得工人花费的总时间最少。。。。
作者: l刘书伶    时间: 2013-8-24 12:29
kong1234 发表于 2013-8-24 12:10 / i! |  v' ~+ v! R7 a0 R# G
楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下

' K. f4 H  Z) i' O9 ]+ \问题背景:就是指派5个人去做5项工作,每人干且仅干一项工作,若分配第i人去干第j项工作,需要花费才(i,j)单位时间,问应该如何分配工作才能使得总的时间最少。。。。谢谢了
作者: l刘书伶    时间: 2013-8-24 12:42
kong1234 发表于 2013-8-24 12:10 " \5 ?. ?6 T) }; I' E5 ~& E" i* \! u
楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下
* b2 C2 k4 k7 }9 G& W6 K
问题背景:就是分配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 " I  {/ K  h2 ~0 q
这是指派问题的matlab线性规划解法。由于matlab的函数格式只能是x为列向量,所以必须把指派矩阵拉成一列,而 ...

, d. U! w% b$ f" w- M  e恩恩,搞懂了,谢谢!
作者: 小黑主    时间: 2013-8-25 11:27
指派问题中包含了几种算法,其中最常见的算法就是匈牙利算法,在此种算法中需要构建矩阵,那个循环你把值带进去就知道了




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