排列组合问题

已知有14个不同的长方形箱子,每个箱子能容纳5*6=30个货物
若有386个不同的货物,
则求这些货物放在箱子中的放法共多少种?
求详细的解法!

由于箱子不同,货物也不同所以这个问题是相当复杂的,本来数字规模比较小的时候我还能给你算算,现在数字这么大我只能给你思路,然后求助计算机了。
令xij表示第i个货物是否放在第j个箱子(i=1,2,……,386;j=1,2,……,14),是为1,不是为0;
则有固定某个j对每个i求和表示j号箱子放的货物个数
得0≤∑(xij)≤30 (任意j成立,这里对i求和)
固定某个i对j求和则为1表示i号货物被放进去了,没有遗留在外面
∑(xij)=1 (任意i成立,这里对j求和)
把所有符合的答案都累加起来就是所有的方法种类了。

另外一种思路你也可以逆回来想,只是你给的数据还是麻烦了点,我下面稍微说一下,如果我们用13个箱子来装,则意味着再取出4个来;
则有C(13,1)*C(30,4)+C(13,1)*C(30,3)*C(12,1)*C(30,1)
+C(13,2)*C(30,2)*C(30,2)+C(13,1)*C(30,2)*C(12,2)*C(30,1)*C(30,1)+C(13,4)*C(30,1)*C(30,1)*C(30,1)*C(30,1)=929816550种
你看用13个箱子装都这么复杂了,现在用14个箱子装,你可以讨论第四个装i个,则相当于从13个满的箱子中取出i+4个,取出的个数还不是这种情况下的答案,因为你放i个货物还可以使不同组合的i个,方正就是很复杂了,手算是很笨的啦!还是用回上面那个运筹学中的0,1规划来弄更好。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-28
结果:(A(420,420)/(A(30,30)^14))*c(420,34)种
----------------------
思路1:一个货物一个货物地放,一个一个地算,一级一级地算,找规律归纳总结。(我就手算,我就不信这是笨方法)
(说明:以下^表示乘方)
第1个货物:14种放法
第2个货物:14^2种放法
...
第30个货物:14^30种放法
----------------
第31个货物:?
我们碰到了每箱30的限制,这时就要开始分类了:
问:14^30种中多少种是1箱都满的,多少种是都没满的?
答:14种是1箱满的,14^30-14种是都没满的
于是
第31个货物:(14^30-14)*14+14*13
----------------
下面用升级算法说明第(任意)个货物时怎么算
----------------
原理:
假设第n个货物的放法中:x0种0箱满,x1种1箱满,x2种2箱满,x3种....
第n+1个货物的放法有多少呢?:
0箱满:(x0-14)*14 -14是因为14种升级到1箱满1
1箱满:14*13+(x1-13)*13 14*13是升级上来的14种的目前放法,-13同样是升级了
2箱满:13*12+(x2-12)*13 同理
.........
----------------
简化:
0箱满:x0-->14*x0-14^2
1箱满: x1-->13*x1+13
2箱满: x2-->12*x2+12
........
----------------
第n+2个货物:
0箱满:14*(14*x0-14^2)-14^2=14^2*x0-14^3-14^2
1箱满:13*(13*x1+13)+13=13^2*x1+13^2+13
2箱满:12*(12*x2+12)+12=12^2*x2+12^2+12
.....
----------------
第n+m个货物:
0箱满:14^m*x0-(14^(m+1)+14^m+...+14^2)
1箱满:13^m*x1+(13^m+13(m-1)+...+13)
2箱满:12^m*x2+(12^m+12(m-1)+...+12)
.....
----------------
于是只要确定初值x0,x1,x2...,n,m值就好了:
第386个货物:
0箱满: n=30,(因为从30开始才有升级现象)
x0=14^30,m=386-30=356
即:14^356*14^30-(14^(356+1)+14^356+...+14^2)
1箱满:n=60,(从60开始出现升级到2箱满的)
x1=c(60,14)*c(14,1)-c(14,2),m=386-60=326
意为:从60箱中选14个货物的组合填到任意一箱,再扣掉2箱满的
2箱满: n=90,同理
x2=c(90,28)*c(28,14)*c(14,2)-c(14,3),m=386-90=296
......
11箱满: n=360,m=386-360=26
x11=c(360,14*11)*c(14*11,14)*c(14*10,14)...c(14*1,14)/A(14,14)-c(14,12)
12箱满:这个不能按上面的算,因为它升不了级
直接就是c(386,360)*c(360,14)*c((360-14),14)*...*c(14,14)*(386-360+1)
---------------------
代入上面的公式,全部加起来就是结果了。
---------------------
以上推理有误的话,欢迎指出。
-------------------------
思路2:先放420个货物,再从中取出420-386=34个
放420个货物放法有A(420,420)/(A(30,30)^14)种,
420个货物中取出34个,有c(420,34)种,
于是得到:(A(420,420)/(A(30,30)^14))*c(420,34)种
第2个回答  2009-05-27
需要13个箱子装
C12A360C1
14 386 2
第3个回答  2009-05-28
共有420选出386为C420.386,386可任意排序为A390.390,则为(C420.386)*(A386.386)
第4个回答  2009-05-28
A420,386
相似回答