美赛学习笔记

一、数学建模问题分析

1.模型假设

  找到与结果相关的因素,分析主要因素和次要因素,为简化问题,可适当忽略部分无关因素。

2.模型建立和求解

  通过所做的分析和假设,根据所提供的要求和信息,建立一个关于问题中主要变量和主要因素间的的数学规律模型,使用软件和数学方法进行模型的求解。

3.结果分析和模型评价

  通过误差分析和灵敏度分析,检验模型的的合理性和可行性,并进行优化。

示例

  后做添加

二、常用模型和算法

1.图论

  图论中最基本的概念是顶点(节点),顶点组成的集合称为顶点集,记作V;顶点之间的连接称为边,记作E。一个图就由(V,E)组成,记作G=(V,E)。如果给图中的定点赋予定点和边具体的含义和权,这样的图就称为网络。这时该网络可以表示为N=(V,E,W),W为任意两点之间的距离构成的权重矩阵。
  如在研究环球旅游时,各城市构成顶点,城市之间的连接构成边,城市之间的距离就是这两点间边的权重;又如足球队中的胜负,可以用有向箭头表示,即为有向图。

示例 比赛项目排序问题(TSP问题)

  在各种运动比赛中,为了使比赛公平、公正、合理地举行,一个基本要求是:在比赛项目排序过程中,尽可能使每个运动员不连续参加两场比赛,以便运动员恢复体力,发挥正常水平。

  表1是某个小型运动会的比赛报名表。有14个比赛项目,40名运动员参加比赛。表中[#]位置表示运动员参加此项比赛。建立此问题的数学模型,并合理安排比赛项目顺序,使连续参加两项比赛的运动员人次尽可能的少。

表1


解答:
  若项目i和项目j为相邻节点,可以计算出同时参加这两个项目的人数,作为i和j的距离d。则问题转化为求项目1到项目14的一个排列,使相邻距离之和最小。采用TSP问题求解。由于开始和结束项目都没有连接,可考虑引入虚拟项目15,该虚拟项目与各个项目的距离都为0。
  距离矩阵D的求法:
  报名表用矩阵 A 40 × 14 A_{40\times 14} A40×14表示。
a i j = { 0 第 i 个人不参加项目 j 1 第 i 个人参加项目 j a_{ij}=\left\{ _{0 \text{第}i\text{个人不参加项目}j}^{1 \text{第}i\text{个人参加项目}j} \right. aij={0i个人不参加项目j1i个人参加项目j
  则 d i j = ∑ k = 1 40 a k i ⋅ a k j    i ≠ j    i , j = 1 , 2 , ⋯   , 14 d_{ij}=\sum_{k=1}^{40}{a_{ki}\cdot a_{kj}}\,\, i\ne j\,\, i,j=1,2,\cdots ,14 dij=k=140akiakji=ji,j=1,2,,14
   d i i = 0 , i = 1 , 2 , ⋯   , 14 d_{ii}=0,i=1,2,\cdots ,14 dii=0,i=1,2,,14   d i , 15 = 0 , d 15 , i = 0 , i = 1 , 2 , ⋯   , 15 d_{i,15}=0,d_{15,i}=0,i=1,2,\cdots ,15 di,15=0,d15,i=0,i=1,2,,15
  在Matlab中编写程序形成距离矩阵:

[table1]=xlsread('table1.xlsx');
a=table1;

[m,n]=size(a);
d=zeros(n+1,n+1);   %定义距离矩阵;

for i=1:n
	for j=1:n
		for k=1:m
			d(i,j)=d(i,j)+a(k,i)*a(k,j);	%计算不同项目之间的距离
		end
	end
end

for i=1:n+1
	d(i,i)=0;
end
%输出文件
fid=fopen('磁盘索引\dis1.txt','w');
for i=1:n+1
	for j=1:n+1
		fprintf(fid,'%d',d(i,j));
        fprintf(fid,'\t');
	end
fprintf(fid,'\r\n');
end
fclose(fid);

再编写程序,求得遍历所有节点且不重复的最短路径即可。

2.排队论模型

排队论模型可参考此博客
知乎书籍(有知乎会员的可以看这个)
以下仅对部分公式展示个人理解,可对照阅读。

2.1.单服务台等待制模型

  系统处于忙的概率 ρ = λ μ \rho =\frac{\lambda}{\mu} ρ=μλ,λ为单位时间每个顾客的到达率,由于到来人数服从泊松分布,所以单位时间平均到来人数也为λ,μ为单位时间内可服务的总人数,则单位时间内系统仅有 λ μ \frac{\lambda}{\mu} μλ处于工作状态即服务强度。
  系统中有n个顾客的概率 p n = ( 1 − ρ ) ρ n p_n=\left( 1-\rho \right) \rho ^n pn=(1ρ)ρn,系统正好服务完上一个顾客处于闲时,剩下n个顾客正在等待服务,则对系统中等待n个顾客而言系统处于忙时。平均队长 L s L_s Ls即为其数学期望。系统稳定时总有一人在服务,而剩余人在等待,则平均等待队长为 L p = Σ ∞ n = 1 ( n − 1 ) p n L_p=\underset{n=1}{\overset{\infty}{\varSigma}}\left( n-1 \right) p_n Lp=n=1Σ(n1)pn

:多服务台等待制模型 ρ = s λ μ \rho =\frac{s\lambda}{\mu} ρ=μsλ,服务台数为s

2.2.混合制模型

  系统稳定状态下的平衡方程
{ μ 1 p 1 = λ 0 p 0 λ i − 1 p i − 1 + μ i p i = ( λ i + μ i ) p i , i = 1 , 2 , ⋯   , k λ K − 1 p K − 1 = μ K p K \begin{cases} \mu _1p_1=\lambda _0p_0\\ \lambda _{i-1}p_{i-1}+\mu _ip_i=\left( \lambda _i+\mu _i \right) p_i,i=1,2,\cdots ,k\\ \lambda _{K-1}p_{K-1}=\mu _Kp_K\\ \end{cases} μ1p1=λ0p0λi1pi1+μipi=(λi+μi)pi,i=1,2,,kλK1pK1=μKpK

  系统稳定时的流入=流出,单位时间内进入状态n和离开状态n的次数相等。

2.3.闭合制模型

  了解单位时间每个顾客到达率λ的概念即可明白。

3.未完待续

以上为摘录的学习总结,仅供学习使用。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值