数学建模社区-数学中国

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

作者: l刘书伶    时间: 2013-8-24 11:16
标题: matlab程序方面
在指派问题中:
$ \: w3 j* g; _7 Ec=[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];
- j% P2 C& T/ m$ Y# o8 jc=c(;2 M2 ?% v0 {7 `0 ~0 w4 i
a=zeros(10,25);
7 l6 ^7 g  J( x( N, U(这一步为什么要创造一个10*25矩阵呀). P9 i! a- V- Q$ s. R" Y
for i=1:5
5 ]8 C/ Y1 Q" E( h" [- e   a(i,(i-1)*5+1:5*i)=1;(此处看不懂)
: _; [* v8 T2 M7 o. M; _  a(5+i,i:5:25)=1;(此处看不懂)
) h7 T4 o/ S; _( Mend
& m9 i) L6 i1 h+ m  tb=ones(10,1);/ H" A5 A  l& n
[x,y]=bintprog(c,[],[],a,b);/ \  E$ r+ M! d4 f
x=reshape(x,[5,5]),y
9 [5 r" R( {) `2 B这个程序有几处看不懂,希望高手解答,谢谢!
& O) m! {: i- ~
作者: kong1234    时间: 2013-8-24 12:10
楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下
作者: l刘书伶    时间: 2013-8-24 12:24
kong1234 发表于 2013-8-24 12:10
+ t! [/ s7 d' g$ }, I( q: f! I楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下

8 ]' O" N& _! k$ C8 W就是指派5个人去干5项工作,每人干且仅干一项工作,若分配弟i个人去干弟j项工作,需要花费c(i,j)单位时间,问如何分配工作才能使得工人花费的总时间最少。。。。
作者: l刘书伶    时间: 2013-8-24 12:29
kong1234 发表于 2013-8-24 12:10
- g$ g) o. @( k! ?楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下

& A9 b0 s" l# `问题背景:就是指派5个人去做5项工作,每人干且仅干一项工作,若分配第i人去干第j项工作,需要花费才(i,j)单位时间,问应该如何分配工作才能使得总的时间最少。。。。谢谢了
作者: l刘书伶    时间: 2013-8-24 12:42
kong1234 发表于 2013-8-24 12:10
0 m% b" J  x! @- k4 b* t9 g0 _8 X楼主,问题背景呢?bintprog函数是解决整数规划的,,你可以在matlab中doc bintprog 学习一下
( r, U7 n7 }& _, e
问题背景:就是分配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   Z/ I, B2 c% V, n1 @9 n
这是指派问题的matlab线性规划解法。由于matlab的函数格式只能是x为列向量,所以必须把指派矩阵拉成一列,而 ...
  g. L! R# Q* o. j. V
恩恩,搞懂了,谢谢!
作者: 小黑主    时间: 2013-8-25 11:27
指派问题中包含了几种算法,其中最常见的算法就是匈牙利算法,在此种算法中需要构建矩阵,那个循环你把值带进去就知道了




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