组合数学003

组合的性质

1.C(n,r)=C(n,n-r)=n!/r!(n-r)!
2.C(n,r)=C(n-1,r)+C(n-1,r-1)
C(n,r):从n个不同元素(a1,a2,a3,…an)中取出r个元素。
C(n-1,r):r个元素中没有a1,从n-1个不同元素(a2,a3,…an)中取出r个元素。
C(n-1,r-1):r个元素中有a1,从n-1个不同元素(a2,a3,…an)中取出r-1个元素。
3.由2得:C(n+r+1,r)=C(n+r,r)+C(n+r,r-1)
=C(n+r,r)+C(n+r-1,r-1)+C(n+r-2,r-2)+…C(n+1,1)+C(n,0)
=C(n+r,n)+C(n+r-1,n)+C(n+r-2,n)+…+C(n+1,n)+C(n,n)

4.C(n,l)C(l,r)=C(n,r)C(n-r,l-r)
5.mn=C(m+n,2)-C(m,2)-C(n,2)
m个男,n个女,两两配对。
mn:取一男一女。
C(m+n,2):随机取两人。
C(m,2):取两男。
C(n,2):取两女。
6.二项式定理(x+y)n=C(n,0)xn+C(n,1)xn-1y+C(n,2)xn-2y+…+C(n,n)yn
令x=y=1,得C(n,0)+C(n,1)+C(n,2)+…+C(n,n)=2n;
令x=1,y=-1得C(n,0)-C(n,1)+C(n,2)-…+/-C(n,n)=0;
即C(n,0)+C(n,2)+C(n,4)+…=C(n,1)+C(n,3)+C(n,5)+…
7.C(m+n,r)=C(m,0)C(n,r)+C(m,1)C(n,r-1)+…+C(m,r)C(n,0)
C(m+n,m):共有m+n个球,m红,n蓝,取出r个球。

C(m,0)C(n,r):取0红,r蓝。
C(m,1)C(n,r-1):取1红,r-1蓝。
C(m,r)C(n,0):取r红,0蓝。

投资组合问题是金融领域中的一个经典问题。其目标是在给定的一组资产和相关的风险-收益数据的情况下,找到一个最优的投资组合,以最大化投资回报并最小化风险。 Gurobi是一个用于数学优化的软件包,可以用来解决投资组合问题。以下是一个简单的投资组合问题的Gurobi实现: 假设我们有4个资产,每个资产的收益率和方差如下: | 资产 | 收益率 | 方差 | |:---:|:-----:|:----:| | A | 0.10 | 0.005 | | B | 0.15 | 0.010 | | C | 0.12 | 0.008 | | D | 0.08 | 0.003 | 我们的目标是找到一个最优的投资组合,使得总收益率最大,同时总方差不超过0.01。假设我们有100万资金可以投资,并且每个资产可以购买的数量是连续的。 我们可以使用Gurobi建立一个模型来解决这个问题: ```python import gurobipy as gp # 创建模型 model = gp.Model() # 创建决策变量 x = model.addVars(4, lb=0, ub=1000000) # 添加目标函数 model.setObjective(gp.quicksum(x[i] * ret[i] for i in range(4)), sense=gp.GRB.MAXIMIZE) # 添加约束条件 model.addConstr(gp.quicksum(x[i] * var[i] for i in range(4)) <= 0.01) model.addConstr(gp.quicksum(x[i] for i in range(4)) == 1000000) # 求解模型 model.optimize() # 输出结果 for i in range(4): print("Asset {}: {}".format(i+1, x[i].x)) ``` 在这个例子中,我们首先创建了模型对象,然后创建了4个决策变量x1、x2、x3和x4,表示我们要购买每个资产的数量。然后,我们添加了目标函数,最大化总收益率,以及两个约束条件:总方差不超过0.01,投资总额为100万。 最后,我们调用模型的optimize(),求解模型,并输出结果。在这个例子中,最优解是: ``` Asset 1: 374999.9999999999 Asset 2: 625000.0000000001 Asset 3: 0.0 Asset 4: 0.0 ``` 这意味着我们应该投资37.5万资金购买资产A,62.5万资金购买资产B,不投资C和D。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值