文档库 最新最全的文档下载
当前位置:文档库 › 数学建模网络挑战赛

数学建模网络挑战赛

数学建模网络挑战赛
数学建模网络挑战赛

数学建模网络挑战赛

承诺书

我们仔细阅读了第九届“认证杯”数学中国数学建模网络挑战赛的竞赛规则。

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们接受相应处理结果。

我们允许数学中国网站(https://www.wendangku.net/doc/04240668.html,)公布论文,以供网友之间学习交流,数学中国网站以非商业目的的论文交流不需要提前取得我们的同意。

我们的参赛队号为:1711

参赛队员(签名) :

队员1:

队员2:

队员3:

参赛队教练员 (签名):

参赛队伍组别(例如本科组):本科组

数学建模网络挑战赛

编号专用页

参赛队伍的参赛队号:(请各个参赛队提前填写好):

1711

竞赛统一编号(由竞赛组委会送至评委团前编号):竞赛评阅编号(由竞赛评委团评阅前进行编号):

2016年第九届“认证杯”数学中国

数学建模网络挑战赛第一阶段论文

题目低分辨率下看世界

关键词块匹配菱形搜索算法数据拟合MA TLAB

摘要:

本文针对由图像序列判断视野区域运动方向的问题,使用基于块的运动估计方法对一个在4秒内连续拍摄的20张分辨率为32?64的单色图像序列样本进行分析处理,提出了一个基于MATLAB的主要使用菱形搜索算法、数据拟合的解决方案。

首先将图像序列导入MATLAB,用矩阵表示,按图像拍摄先后顺序使用块匹配方法中的菱形搜索算法(先将图片分块,将当前图中的每一块先按大菱形模板(LDSP)搜索再用小菱形模板(SDSP)定位找出时间相邻图中的最相似的匹配块)依次得出图像序列相邻帧间具体到宏块的运动矢量图,再用拉依达准则(σ3准则)去除误差较大的运动矢量,把保留的矢量取均值作为相邻帧间的整体运动矢量,然后把这20个图像间19个运动矢量利用拟合统一方向,其反方向即拍摄图像序列时视野的运动方向。通过编程生成的DScomputations(平均搜索点数)预测帧图像与残差图来评估主要算法,结果表明此方案可以用时较少并且较为精确的判断视野区域的运动方向。

参赛队号: 1711 Array

所选题目: B 题

Abstract

In this paper, to figure out the motion direction in view area by image sequence, based on block motion estimation method, an analysis has been done on a sequence sample of twenty 32*64monochrome images, which were captured in 4 seconds, and a solution is proposed by adopting MA TLAB with diamond search algorithm and data fitting.

First, input the image sequence into MA TLAB, marking with matrix, and then diamond search algorithm derived from block matching method is adopted to deal with the images. Each picture is divided into several blocks. Search a certain block by LDSP first, and then locate it by SDSP. After that, similar matching blocks could be detected in neighboring pictures, so that the motion vector of adjacent frames in a sequence of images to the macro- block could be obtained. Then remove the motion vectors with obvious errors according to Pauta criterion (3σ guidelines). Take the average of the remained vectors as the overall motion vector of neighboring frames. The 19 motion vectors from the 20 pictures could be unified by data fitting, and the reversed direction will be the motion direction when capturing the image sequence.

The DScomputations (Average number of search points) generated from programming could be used to predict frame image and residual plots, and to evaluate the main algorithm. The results have shown that this method costs less time and results in a more accurate deter- mination of the motion direction in the visual field.

Key W ords: Block Matching diamond search algorithm data fitting MA TLAB

一、问题重述

数码摄像技术被广泛使用于多种场合中。有时由于客观条件的限制,拍摄设备只能在较低的分辨率下成像。为简单起见,我们只考虑单色成像。假设成像的分辨率为32?64,成像方式是将整个矩形视野划分成32?64个相同大小的矩形格子,图像中每个像素的取值为对应格子的亮度平均值。每间隔一定时间拍摄一帧图像,运动的画面体现为图像的序列。

第一阶段问题:现在整个视野区域向某个方向缓慢运动,拍摄到的系列图像实时地传输到计算机中。请你建立合理的数学模型和算法,通过分析实时拍摄的图像,使用尽量少的时间,以判断出运动的方向。

二、符号说明

1、BDM——块匹配误差;

2、MAD——平均绝对误差;

3、MBD——最小块匹配误差;

4、DS——菱形搜索算法;

5、LDSP——大菱形搜索模板;

6、SDSP——小菱形搜索模板;

7、MSE——均方误差;

8、NCCF——归一化互相关函数

三、问题分析

问题要求对图像序列进行分析,用尽量短的的时间,判断出运动的方向。根据要求,我们采集了一个用4秒拍摄的单向移动的20张分辨率为32×64的单色图像序列作为样本,将其导入MA TLAB进行图像数据化。接下来是对数据进行分析,判断出运动的方向,但由于整个图片的数据是离散的,且每一格子的像素值是以其均值来代替,这就会导致当图像进行微小移动时,会造成其对应格子像素值的变化,造成移动后图像与原图的不一致,无疑给常规的数据分析增加了困难。从另一条思路出发,换用视频压缩编码中常用的运动估计方法对图像进行处理,例如全搜索算法、三步搜索算法、四步搜索算法和菱形搜索算法。考虑到题目中的要求,在其中选择针对小运动序列来说时间相对较短、精度相对较高的菱形搜索算法。使用该算法来得到相邻两幅图像间各搜索宏块的运动矢量,又考虑到实验误差的因素,对得到的运动矢量筛选后加权,从而得到拍摄这两幅图时视野运动矢量。最后再将20幅图像之间19个运动方向整合统一得到拍摄图像序列时视野的轨迹。

四、模型假设

1.拍摄20张图像序列时视野区域只向一个方向运动

2.每个搜索宏块内各像素只做相等的位移

五、模型的建立与求解

1.图像序列采集

使相机在往一个方向缓慢平移的4秒内拍摄20张分辨率为32×64的单色图像序列,如下(以前两幅为例):

1 2 3 4

图5.1.1:样本示例

用imread函数将序列的20个图像导入MA TLAB,用元素为每个像素内亮度均值的矩阵表示。

2.获取宏块运动矢量图

a.基于块匹配的运动估计

将前帧图像作为当前帧,后帧图像作为参考帧,把两图像划分为若干个m×m像素大小的宏块,不妨用B(i,j)表示,其中(i,j)为每块的起始点在整个图像中的行列标号。对与B(i,j)在参考帧中对称的地方(中心为(i,j))划定一个矩形搜索范围(即搜索框),设

图像间在各方向的最大运动矢量的模为d

max ,则框大小一般为(m+2d

max

+1)×

(m+2d

max

+1),在框内依据一定的匹配准则,搜寻出与宏块最相似的匹配块,用B1(i1,j1)表示,由B(i,j)与B1(i1,j1)的相对位置计算出位移,所得到的即当前宏块的运动矢量。

图5.2.1:基于块的运动估计

匹配准则一般有以下三种:

平均绝对误差MAD:

11n 1

1(,)(,)(,)M N

k k m MAD i j f m n f m i n j MN -===-++∑∑

式中,),(j i 为位移矢量,k f 和1-k f 分别是当前帧和参考帧的灰色值,N M ?为宏块的大小。若在某一点),(00j i 处),(00j i MAD 达到最小,则该点即为要找的最佳匹配点。

均方误差MSE :

[]2

11n 1

1(,)(,)(,)M N

k k m MSE i j f m n f m i n j MN -===-++∑∑

MSE 值最小的点为最佳匹配点。 归一化互相关函数NCCF :

112

2

111

22

11111(,)(,)

(,)(,)(,)M N

k

k m n M

N

M N

k k m n m n f

m n f m i n j NCCF i j f m n f m i n j -==-====++=

????++????????∑∑∑∑∑∑

NCCF 值最小的点为最佳匹配点。[1] 此处编程使用MAD 的匹配准则。

m 一般取16,即宏块一般取16×16像素大小的,但考虑到这里图像分辨率过低,故选4×4像素大小,搜索框大小取7×7像素。具体块匹配方法选用菱形搜索算法。

b.菱形搜索算法

菱形搜索算法DS ,搜索最佳匹配块时采用大菱形搜索模板LDSP 和小菱形搜索模板SDSP 。搜索模板的形状和大小是决定整个算法运行速度及性能的关键所在。

图5.2.2:菱形搜索模板

DS算法先用LDSP搜索,进行粗定位,即采用9 个搜索点(包括搜索中心和8个按照菱形分布的围绕点),计算9个点的MAD值,如果最小MAD的点(MBD点)不在大菱形中心的话,将大菱形中心移到相应最小MAD的点(MBD点)上,重复LDSP 搜索,直到最小MAD的点(MBD点)位于大菱形的中心为止。然后在该中心点上切换到小菱形搜索,共搜索5 个点,得到最终的搜索结果作为运动估计的最优匹配点。该算法的步骤如下:

Step1:将搜索框的原点作为LDSP的中心,比较LDSP上9个点的匹配误差,MBD 位于中心点,则进行Step3,否则进行Step2;

Step2:以Step1中的MBD点为中心形成新的LDSP,若MBD位于中心点,则进行Step3;否则重复Step2;

Step3:以Step1找到的MBD点作为中心点,把LDSP切换为SDSP,SDSP上的5个点中的MBD点的坐标即为最终的运动矢量,指向最佳匹配块。

图5.2.3:菱形搜索算法示例

将该算法用MA TLAB编程,得到20个序列图像间的19幅宏块运动矢量和运动矢量图(以图像序列的前三帧为例,即第一帧指向第二帧和第二帧指向第三帧中最佳匹配块的矢量图,序列完整结果在附录中给出)如下:

图5.2.4:运动矢量图

3.将宏块运动矢量统一为帧间运动矢量

由于实验的误差,宏块运动矢量中出现了异常数据,为避免异常数据对最终结果的影响,根据拉依达准则(3σ准则)[3]去除异常的运动矢量。拉依达准则(根据大数定律和单一事件中小概率事件看为不可能发生)筛选原则如下:

22x x x σσ-≤≤+

其中x 为选取的样本,x 为样本的均值,σ为样本的标准差。

之后把保留的块运动矢量取均值作为相邻帧间整体的运动矢量,重复此行为得到20个序列图像间的19幅宏块运动矢量图的统一帧间运动矢量坐标,如下:

4.将帧间运动矢量统一为整体运动方向

由于图像序列沿着沿单一方向移动,故将得到的19幅宏块运动矢量图的统一帧间运动矢量,汇总在一张图上。为此对原统一帧间运动矢量进行加工处理,对每个运动矢量依次叠加,得到图像序列的位移向量,如下:

根据表中坐标,可以绘制出图像序列运动轨迹图,如下:

图5.4.1:图像序列运动轨迹

对加工后的数据根据最小二乘法进行拟合[2],设拟合最佳方程为y=kx,要求最佳的参数k使直线y=kx尽量贴近19个图像序列帧间矢量的坐标,经过MATLAB计算求得k=0.54713。

拟合图像如下:

图5.4.2:图像序列间矢量坐标拟合

统一图像序列的总体移动方向。其反方向即拍摄图像序列时视野的运动方向为(1,0.54713)。

六、模型的检验

菱形搜索算法可以从DScomputations(平均搜索点数)、预测帧图像以及残差图三个方面入手进行评估,DScomputations越小,算法所用时间越少;预测帧可以反映相对于当前帧的相似程度,相似程度越高,算法效果越优;残差帧可以反映预测帧与当前帧

之间的差值,差值越小,算法性能越优。在MA TLAB中编程计算出的结果如下(以前四帧为例,完整结果在附录中给出):

DScomputations:14.9531 15.3047 14.9766 14.6641

如上,平均搜索点数较少,搜索所用时间较短;

预测帧:

图6.1:预测帧图像

如上,预测帧相对于当前帧的相似度较高,算法效果较优;

残差帧:

图6.2:残差帧图像

如上,从残差帧可看出预测帧与当前帧的差值处在可接受的较小范围,算法较为理想。

七、模型的评价

1.模型的优点

1)采用了基于块运动估计方法中的菱形搜索算法,极大地减少了问题求解的复杂程度,可以用时较少并且较为精确的判断视野区域的运动方向。

2)对模型得到的数据进行分析,利用拉依达准则(3σ准则)去除了异常的数据,极大地提高了模型的精准度。

3)对结果数据进行回归分析,减少了由实验数据带来的误差。

4)模型没有受限于题目已给的条件,可以用于高分辨率和多颜色图像序列的分析。

2.模型的缺点

1)模型不适用于视频帧运动幅度过大。

2)模型完善算法在时间复杂度和计算精确度上的平衡。

3)模型假设理想化,算法不适用于观测目标或视野的不规则运动。

八、模型的改进与推广

基于块匹配的菱形搜索算法可以从一些角度进行优化改进,譬如结合分级搜索进行优化(通过判断视频帧运动幅度大小来灵活调节搜索算法)、基于线性预测进行优化(通过在搜索中运用线性预测确定下一轮搜索的最佳中心点来优化算法),使算法时间复杂度减小,效率变高。该算法可以推广应用到视频的压缩编码以及图像超分辨率等领域中。

九、参考文献

[1] 杨高波杜青松,MA TLAB图像/视频处理应用及实例,北京:电子工业出版社,2010

[2]赵静丹琦,数学建模与数学实验,北京:高等教育出版社,2008.1.。

[3]贾俊平何晓群金勇进,统计学,北京:中国人民大学出版社,2014.12

十、附录

1、图像序列样本:

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

2、MA TLAB代码:

%定义costFuncMAD函数

function cost = costFuncMAD(currentBlk,refBlk, n)

err = 0;

for i = 1:n

for j = 1:n

err = err + abs((currentBlk(i,j) - refBlk(i,j)));

end

end

cost = err / (n*n);

%定义imgPSNR函数

function psnr = imgPSNR(imgP, imgComp, n)

[row col] = size(imgP);

err = 0;

for i = 1:row

for j = 1:col

err = err + (imgP(i,j) - imgComp(i,j))^2;

end

end

mse = err / (row*col);

psnr = 10*log10(n*n/mse);

function [dx, dy, min] = minCost(costs)

[row, col] = size(costs);

min = 65537;

for i = 1:row

for j = 1:col

if (costs(i,j) < min)

min = costs(i,j);

dx = j; dy = i;

end

end

end

%定义motionComp函数

function imgComp = motionComp(imgI, motionV ect, mbSize)

[row col] = size(imgI);

mbCount = 1;

for i = 1:mbSize:row-mbSize+1

for j = 1:mbSize:col-mbSize+1

dy = motionV ect(1,mbCount);

dx = motionV ect(2,mbCount);

refBlkV er = i + dy;

refBlkHor = j + dx;

imageComp(i:i+mbSize-1,j:j+mbSize-1) = imgI(refBlkV er:refBlkV er+mbSize-1, refBlkHor:refBlkHor+mbSize-1);

mbCount = mbCount + 1;

end

end

imgComp = imageComp;

%定义motionEstDS函数(核心代码)

function [motionV ect, DScomputations] = motionEstDS(imgP, imgI, mbSize, p)

[row col] = size(imgI);

vectors = zeros(2,row*col/mbSize^2);

costs = ones(1, 9) * 65537;

L = floor(log10(p+1)/log10(2));

LDSP(1,:) = [ 0 -2];

LDSP(2,:) = [-1 -1];

LDSP(3,:) = [ 1 -1];

LDSP(4,:) = [-2 0];

LDSP(5,:) = [ 0 0];

LDSP(6,:) = [ 2 0];

LDSP(7,:) = [-1 1];

LDSP(8,:) = [ 1 1];

LDSP(9,:) = [ 0 2];

SDSP(1,:) = [ 0 -1];

SDSP(2,:) = [-1 0];

SDSP(3,:) = [ 0 0];

SDSP(4,:) = [ 1 0];

SDSP(5,:) = [ 0 1];

computations = 0;

mbCount = 1;

for i = 1 : mbSize : row-mbSize+1

for j = 1 : mbSize : col-mbSize+1

x = j;

y = i;

costs(5) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(i:i+mbSize-1,j:j+mbSize-1),mbSize);

computations = computations + 1;

for k = 1:9

refBlkV er = y + LDSP(k,2); % row/V ert co-ordinate for ref block

refBlkHor = x + LDSP(k,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

continue;

end

if (k == 5)

continue

end

costs(k) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

[cost, point] = min(costs);

if (point == 5)

SDSPFlag = 1;

else

SDSPFlag = 0;

if ( abs(LDSP(point,1)) == abs(LDSP(point,2)) )

cornerFlag = 0;

else

cornerFlag = 1; % the x and y co-ordinates not equal on corners end

xLast = x;

yLast = y;

x = x + LDSP(point, 1);

y = y + LDSP(point, 2);

costs = ones(1,9) * 65537;

costs(5) = cost;

end

while (SDSPFlag == 0)

if (cornerFlag == 1)

for k = 1:9

refBlkV er = y + LDSP(k,2); % row/V ert co-ordinate for ref block

refBlkHor = x + LDSP(k,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

continue;

end

if (k == 5)

continue

end

if ( refBlkHor >= xLast - 1 && refBlkHor <= xLast + 1 ...

&& refBlkV er >= yLast - 1 && refBlkV er <= yLast + 1 ) continue;

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

continue;

else

costs(k) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

end

else

switch point

case 2

refBlkV er = y + LDSP(1,2); % row/V ert co-ordinate for ref block

refBlkHor = x + LDSP(1,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(1) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

refBlkV er = y + LDSP(2,2); % row/V ert co-ordinate for ref block

refBlkHor = x + LDSP(2,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(2) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

refBlkV er = y + LDSP(4,2);

refBlkHor = x + LDSP(4,1);

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(4) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

case 3

refBlkV er = y + LDSP(1,2); % row/V ert co-ordinate for ref block refBlkHor = x + LDSP(1,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(1) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

refBlkV er = y + LDSP(3,2); % row/V ert co-ordinate for ref block refBlkHor = x + LDSP(3,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(3) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

refBlkV er = y + LDSP(6,2); % row/V ert co-ordinate for ref block refBlkHor = x + LDSP(6,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(6) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

case 7

refBlkV er = y + LDSP(4,2); % row/V ert co-ordinate for ref block refBlkHor = x + LDSP(4,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(4) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

refBlkV er = y + LDSP(7,2); % row/V ert co-ordinate for ref block refBlkHor = x + LDSP(7,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(7) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

refBlkV er = y + LDSP(9,2);

refBlkHor = x + LDSP(9,1);

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(9) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

case 8

refBlkV er = y + LDSP(6,2); % row/V ert co-ordinate for ref block refBlkHor = x + LDSP(6,1); % col/Horizontal co-ordinate

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(6) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

refBlkV er = y + LDSP(8,2);

refBlkHor = x + LDSP(8,1);

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(8) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

refBlkV er = y + LDSP(9,2);

refBlkHor = x + LDSP(9,1);

if ( refBlkV er < 1 || refBlkV er+mbSize-1 > row ...

|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)

elseif (refBlkHor < j-p || refBlkHor > j+p || refBlkV er < i-p ...

|| refBlkV er > i+p)

else

costs(9) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1), ...

imgI(refBlkV er:refBlkV er+mbSize-1, ...

refBlkHor:refBlkHor+mbSize-1), mbSize);

computations = computations + 1;

end

otherwise

end

end

[cost, point] = min(costs);

if (point == 5)

SDSPFlag = 1;

else

SDSPFlag = 0;

if ( abs(LDSP(point,1)) == abs(LDSP(point,2)) )

cornerFlag = 0;

else

cornerFlag = 1;

end

xLast = x;

yLast = y;

x = x + LDSP(point, 1);

y = y + LDSP(point, 2);

costs = ones(1,9) * 65537;

costs(5) = cost;

end

end

数学建模常用模型方法总结精品

【关键字】设计、方法、条件、动力、增长、计划、问题、系统、网络、理想、要素、工程、项目、重点、检验、分析、规划、管理、优化、中心 数学建模常用模型方法总结 无约束优化 线性规划连续优化 非线性规划 整数规划离散优化 组合优化 数学规划模型多目标规划 目标规划 动态规划从其他角度分类 网络规划 多层规划等… 运筹学模型 (优化模型) 图论模型存 储论模型排 队论模型博 弈论模型 可靠性理论模型等… 运筹学应用重点:①市场销售②生产计划③库存管理④运输问题⑤财政和会计⑥人事管理⑦设备维修、更新和可靠度、项目选择和评价⑧工程的最佳化设计⑨计算器和讯息系统⑩城市管理 优化模型四要素:①目标函数②决策变量③约束条件 ④求解方法(MATLAB--通用软件LINGO--专业软件) 聚类分析、 主成分分析 因子分析 多元分析模型判别分析 典型相关性分析 对应分析 多维标度法 概率论与数理统计模型 假设检验模型 相关分析 回归分析 方差分析 贝叶斯统计模型 时间序列分析模型 决策树 逻辑回归

传染病模型马尔萨斯人口预测模型微分方程模型人口预 测控制模型 经济增长模型Logistic 人口预测模型 战争模型等等。。 灰色预测模型 回归分析预测模型 预测分析模型差分方程模型 马尔可夫预测模型 时间序列模型 插值拟合模型 神经网络模型 系统动力学模型(SD) 模糊综合评判法模型 数据包络分析 综合评价与决策方法灰色关联度 主成分分析 秩和比综合评价法 理想解读法等 旅行商(TSP)问题模型 背包问题模型车辆路 径问题模型 物流中心选址问题模型 经典NP问题模型路径规划问题模型 着色图问题模型多目 标优化问题模型 车间生产调度问题模型 最优树问题模型二次分 配问题模型 模拟退火算法(SA) 遗传算法(GA) 智能算法 蚁群算法(ACA) (启发式) 常用算法模型神经网络算法 蒙特卡罗算法元 胞自动机算法穷 举搜索算法小波 分析算法 确定性数学模型 三类数学模型随机性数学模型 模糊性数学模型

2013深圳杯数学建模D题

自然灾害保险问题的研究 摘要 我国是农业大国,又是世界上遭受自然灾害损失最为严重的国家之一。近10年来,自然灾害给我国造成的经济损失每年都在1000亿元以上。自然灾害对农业经济发展的影响非常严重。但与国际上大灾风险主要通过保险机制来分担化解的做法不同,我国自然灾害损失的救助工作主要依靠国家财政援助和生产自救进行,有关自然灾害风险防范的保险体系尚未真正建立。因此,必需改革目前的保险体制,探索建立巨灾保险救助和通过资产证券化等非传统风险转移方式分散农业巨灾风险的新途径,有效地提升保险在国家灾害救助体系中的积极作用,因此我们分析了近几年天气,各地区的农作物种植面积,受灾,成灾,绝收面积的有关数据,得出了自然灾害的变化趋势,通过Excel,matlab等软件建立了几个模型以及分析出了受灾面积的函数y=-879.8x+2E+6,R*R=0.089,成灾面积y=-132.6X+21663,R*R+0.003绝收面积的函数y=-328.1X+66308,R*R=0.307并且还分析了出了降水量,风速,冰雹在近几年的变化趋势,为今后的预防工作和提出更加合理的保险险种方案做出了充分的准备。 关键词:自然灾害、保险险种、灾害变化趋势、土地种植面积、模型的建立 一、问题重述 根据2013年3月5日《环球时报》转摘美国《商业周报》的相关报道,“在2012年全世界发生的10大自然灾害中,有4场是发生在中国。包括3场严重的夏季洪涝灾和席卷苏鲁冀等沿海地区的台风‘达维’造成的灾害。另外,还有很多地区遭受了严重干旱、冰雹等自然灾害,共造成290亿美元的损失,但通过投保由保险公司赔付的比例仅占总损失的4%左右,这个比例相对美国的自然灾害保险赔付率相差甚远。”另据报道:“2013年3月20日发生在广东、广西等省部分地区的一场大风和冰雹灾害,造成直接经济损失达13亿多元。”这个事实警示我们,中国需要重视和加强自然灾害保险的研究和实践,特别是针对严重自然灾害的保险体系建设和对策方案的研究,推动由政府主导的自然灾害政策性保险方案的实施。 农业灾害保险是国家政策性保险之一,即政府为保障国家农业生产的发展,基于商业保险的原理并给予政策扶持的一类保险产品。农业灾害保险也是针对自然灾害,保障农业生产的重要措施之一,是现代农业金融服务的重要组成部分,它与现代农业技术、现代农业信息化及市场建设共同构成整个农业现代化体系。农业灾害保险险种是一种准公共产品,基于投保人、保险公司和政府三方面的利益,按照公平合理的定价原则设计,由保险公司经营的保险产品,三方各承担不同的责任、义务和风险。农业灾害保险分种植业保险和养殖业保险两大类,现有几十个险种,因不同地区的气象条件和作物种类不同,其险种和设置方案都不尽相同。农业灾害保险除遵循保险的共同原理外,有其自身的特点。比如,其损失规律有别于人寿保险和通常的财产保险(如汽车险)等。政府作为投保人和承保人之外的第三方介入以体现对国家安全和救灾的责任。附件1给出了P省种植业现行的部分险种方案,请你们从实际出发,查阅和参考附件中的数据资料,通过分析建模,研究解决下面的问题:(1)对附件2中的数据做必要的统计分析,研究P省现有农业灾害保险险种方案可能存在的风险,并分析其方案是否存在不合理性。

第三届“ScienceWord杯”数学中国数学建模网络挑战赛第二阶段B题一等奖论文

目录(CONTENTS) 一、问题重述 (2) 二、问题分析 (2) 2.1方案理论可行性 (2) 2.2波士顿路网实例 (2) 三、条件假设 (2) 四、符号约定 (2) 五、模型的建立与求解 (3) 5.1模型建立 (3) 5.1.1波士顿城市路网抽象图 (3) 5.1.2交通网连通性 (4) 5.1.3非线性规划模型 (4) 5.1.4拥堵评价指标体系 (4) 5.2路网属性参数估计 (5) 5.2.1路网属性参数约束方程 (5) 5.2.2参数曲线拟合求解 (5) 5.3交通流量之NASH均衡求解 (8) 5.3.1非线性规划求解NASH均衡解的可行性分析 (8) 5.3.2 LINGO求解NASH均衡解 (9) 5.4方案优劣性的量化分析 (10) 5.4.1路网流量均衡下的道路拥堵状况 (10) 5.4.2关闭已拥堵路段后的道路拥堵状况 (13) 5.4.3关闭未拥堵路段后的道路拥堵状况 (13) 5.5方案适用范围的数据分析 (14) 5.5.1路网总流量变化对道路拥堵状况的影响 (14) 5.5.2波士顿路网规划方案适用范围 (15) 六、模型的评价 (15) 七、参考文献 (16) 八、附录 (17) 8.1 LINGO求解均衡解程序 (17) 8.2插值多项式曲线的MATLAB程序 (17)

一 问题重述 Braess悖论宣称:提高某一路段的通行能力,反倒可能使整体路网的通行能力下降。那么,在发生交通拥堵的时候,如果暂时关闭其中的某条道路,是否可以缓解交通堵塞的现象? 请建立合理的模型,研究临时关闭道路以缓解交通堵塞的可行性。如果可行,请给出具体的关闭方案。城区道路网可以使用北京市二环路的地图,也可以使用美国波士顿的部分城区图。 二 问题分析 2.1方案理论可行性 从规划的角度看,理想情况下,司机可以牺牲个人利益成全大局,使得城市路网无时无刻都能达到最优效益,此时关闭其中任何一条道路都有可能使全局最优解降为局部最优解,即在这种情况下关闭道路的方案是不可行的。从实际情况看,具有个性化需求的司机为了追求个人利益最大化往往使得城市路网的整体效益下降,此时有选择有目的的关闭道路会使得个体最优选择服从于或接近于整体最优决策,有利于提升城市路网的整体效益,即政府的调控是可行的。 2.2波士顿路网实例 道路堵塞的评价指标确定为每个车辆通过该段路网的平均时间,选取美国马萨诸塞州的首府--波士顿作为实证对象,用非线性规划的数学思想求得在总流量一定的情况下交通流量的均衡解,比较关闭某条道路前后指标的变化即可判断方案优劣。如果可行,再令总流量在一定范围内变化,求出此方案的适用范围。 三 条件假设 Ⅰ.所有司机的选择是独立的,非合作的。 Ⅱ.城市路网信息完全公开,司机对路网熟悉程度高。 Ⅲ.车辆在转弯或过十字路口时无时间延误。 Ⅳ.道路布局方案的评价指标是车辆通过该路段的平均时间或路网的使用效益。 Ⅴ.假设波士顿城市路网属于对称双通道系统。 Ⅵ.假设波士顿路网均是双向的,但只有单向的增加车流量能使堵塞加剧。 四 符号约定 i 拥堵系数 α 车辆单独通过路段的时间 β 每增加单位流量所增加的通行时间 t车辆实际通行时间 f 路段当前流量 s 路网内某路段车速

深圳交通拥堵数学建模讲解

2013深圳夏令营数学建模 承诺书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。 我们参赛选择的题号是(从A/B中选择一项填写): B 题 所属学校:运城学院 参赛队员: 1.姓名:王亮系别:物理与电子工程系签名: 2.姓名:孟福荣系别:计算机科学系签名: 3.姓名:孙静系别:数学与应用数学系签名: 指导教师或指导教师组负责人(打印并签名):

2013深圳夏令营数学建模 编号专用页 赛区评阅编号(由赛区组委会评阅前进行编号): 赛区评阅记录(可供赛区评阅时使用): 评 阅 人 评 分 备 注 全国统一编号(由赛区组委会送交全国前编号): 全国评阅编号(由全国组委会评阅前进行编号):

题目:深圳交通拥堵问题的研究 摘要 随着国民经济的高速发展和城市化进程的加快,我国机动车保有量及道路交通流量急剧增加,日益增长的交通需求与城市道路基础建设之间的矛盾已成为目前城市交通的主要矛盾,深圳交通拥堵已严重影响正常的生产生活。本篇论文通过研究道路交通拥挤的状况,来反映交通环境。即针对道路拥挤的问题进行数学建模分析,讨论拥堵的深层次问题及解决方案。 道路拥堵状况评价的指标有多种,为保证评价尽可能的客观、全面和科学,我们分析采用路段平均行程速度、交通流量、路段饱和度、三个评价指标来综合放映道路拥堵情况选取梅林关为例,由于数据的不完整性以及对应事件的不确定性,如:交通指示灯作用,驾驶车辆的速度不均等情况所造成的数据和对应结果的不完全对应,综合考虑我们采取模糊数学模型来对问题一进行分析和求解,列出非常顺畅、顺畅、缓慢、拥堵和严重拥堵五个评判标准来综合评价。确定出其隶属度函数() r x,通过已确定的模糊评价矩阵R得出拥挤度系数B,最终得出其实施后的各项指标。要综合考虑整体城市的交通网络情况,此时的交通状态是一种不断变化的动态过程,具有很强的随机性和偶然性。而交通拥堵的潜伏、发展和产生与具有连贯性和相关性的特点,交通阻塞的发生与它的过去和现状紧密相关,因此,有可能通过对交通状态的现状和历史进行综合分析。不确定或不精确的知识或信息中做出推理。

什么是数学模型与数学建模

1. 什么是数学模型与数学建模 简单地说:数学模型就是对实际问题的一种数学表述。 具体一点说:数学模型是关于部分现实世界为某种目的的一个抽象的简化的数学结构。 更确切地说:数学模型就是对于一个特定的对象为了一个特定目标,根据特有的内在规律,做出一些必要的简化假设,运用适当的数学工具,得到的一个数学结构。数学结构可以是数学公式,算法、表格、图示等。 数学建模就是建立数学模型,建立数学模型的过程就是数学建模的过程(见数学建模过程流程图)。数学建模是一种数学的思考方法,是运用数学的语言和方法,通过抽象、简化建立能近似刻划并"解决"实际问题的一种强有力的数学手段。 2.美国大学生数学建模竞赛的由来: 1985年在美国出现了一种叫做MCM的一年一度大大学生数学模型(1987年全称为Mathematical Competition in Modeling,1988年改全称为Mathematical Contest in Modeling,其所写均为MCM)。这并不是偶然的。在1985年以前美国只有一种大学生数学竞赛(The william Lowell Putnam mathematial Competition,简称Putman(普特南)数学竞赛),这是由美国数学协会(MAA--即Mathematical Association of America的缩写)主持,于每年12月的第一个星期六分两试进行,每年一次。在国际上产生很大影响,现已成为国际性的大学生的一项著名赛事。该竞赛每年2月或3月进行。 我国自1989年首次参加这一竞赛,历届均取得优异成绩。经过数年参加美国赛表明,中国大学生在数学建模方面是有竞争力和创新联想能力的。为使这一赛事更广泛地展开,1990年先由中国工业与应用数学学会后与国家教委联合主办全国大学生数学建模竞赛(简称CMCM),该项赛事每年9月进行。

深圳杯数学建模A题答案

摘要 深圳作为中国经济发展的重点城市,人口与医疗问题已经成为我们的焦点话题,是一个复杂的系统工程。本文针对深圳地区人口年龄分布情况,外来务工人员的数量,从实际出发,在基于一些合理简化假设的基础上,建立数学模型,并充分利用matlab 等软件简化计算,对相关问题进行了有针对性的求解。 在预测未来十年深圳常住人口时,我们运用了matlab 一元线性回归对近十年的数据进行了多次拟合,并对这些拟合进行了比较得出深圳常住人口模型公式为:2() 1.00050.00838.1671Q x e x x =+-+, 通过拟合预测出了未来十年深圳市常住人口的数量,同时在网上2000年到2010年的人口结构的数据,通过Leslie 矩阵预测出了未来十年人口结构的分布。通过分析深圳近人口数量和人口结构的变化,预测未来十年深圳市人口数量和结构的发展趋势,以此为基础预测未来全市和各区医疗床位需求呈线性递增趋势。同时选取了高血压,脑出血,癌症这三种疾病进行预测,运用matlab 最小二乘法散点拟合,得出这三种疾病的发展趋势,由此预测出未来十年这三种疾病的就医的床位需求。 关键词:matlab 、一元线性回归、Leslie 、最小二乘法、床位需求 一、问题重述 从深圳的人口的结构来看,显著的特点是流动人口远远超过户籍人口,且年轻人口占主绝对优势。流动人口主要从事第二、三产业的企业一线工人等。年轻人身体好,发病少 ,导致深圳目前人均医疗设施低于全国类似城市平均水平,但仍能满足现有人口的就医需求。然而,政策的调整与世界的推移会使深圳市老年人增加。产业结构的变化也会影流动人口的数量。直接会导致深圳市未来的医疗需求的变化。 现有人口社会发展模型在面对深圳情况时,难以满足人口和医疗预测的要

2020年MathorCup高校数学建模挑战赛A题

2020年第十届MathorCup高校数学建模挑战赛题目 A题 无车承运人平台线路定价问题 国内公路运输市场开放以来,逐渐形成了“小,散,乱”的发展现状。为规范运输市场,国家交通运输部办公厅于2016年9月印发《关于推进改革试点加快无车承运物流创新发展的意见》,并初步公布了48个无车承运人试点平台。随着我国无车承运行业的逐步兴起,承运线路的科学定价问题是众多无车承运人平台亟待解决的问题。 图1 国内无车承运人模式 图1展示了国内无车承运人的主要运营模式,该模式下有三个主要的参与角色,分别为货主、无车承运人平台以及承运人。作为无车承运人平台,既需要面向货主的运输任务进行报价,同时也需要面向承运司机进行报价。 本研究以无车承运人的视角,暂不考虑面向货主的运输任务的报价,仅面向广大拥有运力资源(货车)的承运端司机,将需要承运的线路任务以一定价格提前发布到网络平台上供承运端司机浏览并决定是否承运该运

输任务。平台采用动态定价的形式保证每个任务必须被承运,若任务未被承运将带来一定损失。作为承运端的司机,会根据平台发布的线路任务和价格进行判断是否接单,司机接单则视为该线路任务交易成功,此线路任务随即从平台下架。若在给定的时间内,该任务没有司机接单,则该线路就可以进行调价。每条线路任务最多允许发布3次价格,即首次发布线路价格后仍可刷新两次线路价格,其中附件1数据文件中的线路指导价为平台首次发布的线路价格。假设上述线路任务全部为固定车型的整车任务,即一个任务需要由某种车型的1辆车完成,不考虑拼载任务。本无车承运人平台在当前阶段较为关注的目标是快速促进成交和较低的承运成本。 基于以上背景,请你们的团队根据附件给出的数据(可不限于此),通过数学建模的方法帮助某无车承运人平台解决以下问题: 问题1:通过定量分析的方法,研究影响无车承运人平台进行货运线路定价的主要因素有哪些,并说明理由。 问题2:根据附件1数据,通过建立数学模型,对已经成交货运线路历史交易数据中的定价进行评价。 问题3:建立关于线路定价的数学模型,给出附件2的线路任务的三次报价以及总成本定价,并填充在附件3的表格中;给出你们的调价策略;评价你们对附件2的线路任务所给出的定价。其中附件3的表格以Excel 文件形式,连同论文答卷一起上传至参赛系统,请勿改变附件3中各任务ID的原有顺序。附件3将用于测试报价的准确性,对于某个确定的任务,三次报价中有一次成交,则后续价格将不再考虑。

层次分析报告法在数学建模中的应用

层次分析法在数学建模中的应用 摘要:人们在生活中处理一些决策问题的时候,要考虑的因素有多有少,有大有小,但是 一个共同的特点是它们通常都涉及到经济 、社会、 人文等方面的因素。在作比较、 判断 、 评价、 决策时,这些因素的重要性 影响力或者优先程度往往难以量化,人的主观选择会起 着相当主要的作用,这就给用一般的数学方法解决问题带来本质上的困难。这是就有人提出 了一种能有效地处理这样一类问题的实用方法,称为层次分析法,这是一种定性和定量相结 合的、系统化、层次化的分析方法。以及在对层次分析法的引入基础之上,建立层次分析模 型,并给出了层次分析的求解过程,以及在现实生活中的应用。 关键词:层次分析法;成对比较矩阵;权向量;一致性指标;一致性比率 一. 问题的提出:人们在日常生活中常常碰到许多决策问题:请朋友吃饭要筹划是办家宴还是去饭店,是吃中餐、西餐还是自助餐;假期旅游和科研成果的评价。诸如此类问题面临抉择,就要慎重考虑,反复比较,尽可能满意的决策。 然而人们在处理上面这些决策问题的时候,要考虑的因素有多有少,有大有小,但是一个共同的特点是它们通常都涉及经济社会和人文等方面的因素。在做比较、判断、评价、决策时,这些因素的重要性、影响力或者优先程度难以量化,人的主观选择会起着相当重要的作用。T.L.Saaty 等人在20世纪70年代提出了一种能有效地处理这样一类问题的实用方法,称为层次分析法(简称AHP ),这是一种定性和定量相结合的、系统化、层次化的分析方法。 二. 层次分析法的基本步骤 1.将决策问题分解为三个层次。最上层为目标层,最下层为方案层,中间层为准则层。 2.通过相互比较确定各准则对于目标的权重,及各方案对于每一准则的权重,这些权重在人的思想过程常是定性的,而在层次分析法中则要给出得到权重的定量方法。 3.将方案层对准则层的权重及准则层对目标层的权重进行综合,最终确定方案层对目标层的权重。在层次分析法中要给出进行综合的计算方法。 三. 构造成对比较阵、计算权向量并做一致性检验;计算组合权向量并做组合一致性检验。 1.成对比较矩阵和权向量 所有因素两两相互对比,对比时采用相对尺度,以尽可能减少性质不同的诸因素相互对比的困难,提高准确度。 假设要比较某一层n 个因素对12,n c c c 上层一个因素O 的影响,每次取两个

交通流量数学模型

交通流量数学模型 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

交通量优化配置 摘要 城市交通拥挤现象是城市交通规划最为明显的失策现象之一。从某种程度上说,城市交通拥挤现象是汽车社会的产物,特别是在人们上下班的高峰期.交通拥挤现象尤为明显。“据统计,上海市由于交通拥挤,各种机动车辆时速普遍下降,50年代初为25km现在却降为15kin左右。一些交通繁忙路段,高峰时车辆的平均时速只有3—4km。交通阻塞导致时间和能源的严重浪费,影响城市经济的效率。”城市交通拥挤现象是现代我国大中城市存在的普遍问题.由于公交车、小汽车流量较多,加上餐饮业商贸功能聚集,使本来就不宽的道路变得拥挤不堪,给进行物资运输,急救抢险,紧急疏散等状况带来不便。其中,城市各路段交通流量的合理分配可以有效缓解道路发生拥挤。接下来,我们将模拟一个交通网络,用节点流量方程、环路定理、网络图论模型去合理分配该交通网络的交通流量已达到交通量优化配置。 关键字:交通流量、节点、环路、网络图论

一、问题重述 我们模拟某区域道路网络如图1所示,每条道路等级(车道数)完全相同,某时间段内,有N辆车要从节点1出发,目的地是节点0(假设该时间段内,路网中没有其它车辆)。在该时间段内,道路截面经过的车辆数越多,车辆在该路段行驶的速度就越慢。 我们在此要解决的问题是确定有效的行驶路径及其算法,合理分配每条道路的交通流量,使N辆车从节点1到节点0的总行驶时间最小。 二、模型假设 1)各路段单向通车 2)道路截面经过的车辆数与车辆在该路段行驶的速度成反比例函数关系 3)车流密度均匀不变 4)假设N辆车在极短时间内全部开出(即把车当做质点)5)各环路两条支路对时间负载均衡

数学建模中常见的十大模型

数学建模常用的十大算法==转 (2011-07-24 16:13:14) 转载▼ 1. 蒙特卡罗算法。该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法。 2. 数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MA TLAB 作为工具。 3. 线性规划、整数规划、多元规划、二次规划等规划类算法。建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件求解。 4. 图论算法。这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。 5. 动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法,竞赛中很多场合会用到。 6. 最优化理论的三大非经典算法:模拟退火算法、神经网络算法、遗传算法。这些问题是用来解决一些较困难的最优化问题的,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。 7. 网格算法和穷举法。两者都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。 8. 一些连续数据离散化方法。很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。 9. 数值分析算法。如果在比赛中采用高级语言进行编程的话,那些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。 10. 图象处理算法。赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MA TLAB 进行处理。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 2 十类算法的详细说明 2.1 蒙特卡罗算法 大多数建模赛题中都离不开计算机仿真,随机性模拟是非常常见的算法之一。 举个例子就是97 年的A 题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108 种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。 2.2 数据拟合、参数估计、插值等算法 数据拟合在很多赛题中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是98 年美国赛A 题,生物组织切片的三维插值处理,94 年A 题逢山开路,山体海拔高度的插值计算,还有吵的沸沸扬扬可能会考的“非典”问题也要用到数据拟合算法,观察数据的

2012数学建模深圳杯A答案

答卷编号(参赛学校填写): 答卷编号(竞赛组委会填写): 论文题目:深圳人口与医疗需求预测(A)组别:本科生 参赛学校: 报名序号: 参赛队员信息(必填): 答卷编号(竞赛组委会填写):

评阅情况(省赛评阅专家填写): 省赛评阅1: 省赛评阅2: 省赛评阅3: 省赛评阅4: 省赛评阅5: 深圳市人口与医疗需求预测模型 摘要: 人口与医疗问题是关系到国计民生的大问题,能够合理而准确地预测就显得非常重要。但不同城市有不同的人口特点,本文在吸取前人经验的基础上,以深圳的人口为依托提出了一些新的简单而实用方法,希望能为政府决策提供帮助。 针对深圳市人口结构中非户籍人口比重大,流动人口多这一特点,我们采用了灰色GM(1,1)模型,通过matlab对深圳市自2001至2010年的数据进行拟合,发现其人口变化近似呈线性增长,线性相关系数高达0.99,我们就此认定其为线性相关并给出线性方程。同理,针对其非户籍人口,我们进行matlab拟合发现,其为非线性相关,并得出相关函数。 通过模拟出的常住人口与非户籍人口的函数,我们可以很容易的得出深圳市的人口数量变化情况,同时我们以非户籍人口与常住人口的函数之比作为深圳市人口结构的变化,通过作图发现,深圳市非户籍人口正逐年下降,这正与官方以及媒体报道深圳市产业转型相对应。 由于深圳市人口结构中外来人口比例接近76%,而且外来人口中以青壮年居多,可以认为在较短时间内(十年内)外来人口年龄结构近似不变,同时当地户籍人口因为受历史条件影响,人口年龄结构在短期内也不会发生较大变化,所以

我们大胆假设深圳市未来十年人口年龄结构近似不变。同时深圳市各区发展水平相同,可以认为其人口发展态势与深圳市总体相同,所以其所在深圳市人口比例不变。 通过查阅资料得知床位需求与各年龄段人数、住院率、平均住院天数以及该地平均年床开放日数有关,在查找资料以及大量演算基础上,利用已求出的常住人口变化函数,我们得出深圳市的床位需求函数,而深圳市各区对应的床位需求则为深圳市总的床位需求乘以本区总人口所占深圳市总人口的比例(已架设各区人口在较短时间内保持不变)。 考虑到问题研究的实用性,我们选取了肺癌与胃癌作为深圳市疾病研究的对象,我们通过查找肺癌与胃癌在深圳市不同年龄段的发病率,这两种病在市级与区级医院的住院天数以及这两种级别的医院的平均年床开放日数,利用已知的病床需求函数,做出了针对深圳市不同级别医疗机构的函数表达式,通过函数表达式我们可以很轻松的看出深圳市不同类型医疗机构的床位需求。 最后以我们的模型为依托去测试深圳市各年的相关数据,都表现出来比较好的吻合性,它充分证明了我们模型的正确性。但是,由于时间仓促,模型仍有不完善地方,而且有其局限性(在较长时间内误差较大),随着时间推移,深圳外来人口比例将更低,老龄化趋势将更加显著,这显然会影响深圳市各级机构床位需求的预测,我们希望可以引入包含年龄结构的函数对其修正,而这将会成为我们以后的一个研究方向。 关键字:灰色GM(1,1)模型线性相关方程 一、问题重述 深圳市是一个流动人口多,户籍人口少的城市,外来人口多导致深圳市青壮年劳动力多,由于青壮年劳动力身体健康程度要高于其它人群,因此深圳目前人均医疗设施虽然低于全国类似城市平均水平,但仍能满足现有人口的就医需求。然而,随着时间推移和政策的调整,深圳老年人口比例会逐渐增加,产业结构的变化也会影响外来务工人员的数量。这些都可能导致深圳市未来的医疗需求与现在有较大的差异。未来的医疗需求与人口结构、数量和经济发展等因素相关。请根据深圳市人口特点预测未来十年深圳市人口数量和结构的发展趋势,以此为基础预测未来全市和各区医疗床位需求;根据深圳市人口的年龄结构和患病情况及所收集的数据,选择预测几种病在不同类型的医疗机构就医的床位需求。 二、问题分析 深圳市人口特点是流动人口多,非户籍人口多,但户籍人口较少,针对这个情况,我们选取人口结构中的主要矛盾,即常住人口与非常住人口(即非户籍人口)进行研究。我们首先分析了深圳市近十年的人口年龄结构变化,发现其结构变化幅度很小,因此在短期内我们可以认为其年龄结构恒定。由于本题需要处理数据较多,我们采用matlab进行辅助分析,通过拟合结果研究其常住人口已经非户籍人口变化。而对于人口结构,我们可以用非户籍人口与总人口的比例来表

2016年第九届认证杯数学中国数学建模网络挑战赛

2016年第九届数学中国数学建模网络挑战赛 策 划 书 数学建模协会 二零一六年四月九日

一、活动主题: 2016年第九届数学中国数学建模网络挑战赛 二、活动背景: 数学中国数学建模网络挑战赛,自2008年至今已举办了八届,它是由内蒙古自治区数学学会主办,由数学中国(https://www.wendangku.net/doc/04240668.html,)、北京中科院软件中心有限公司和第五维信息技术有限公司协办,由全球数学建模能力认证中心赞助支持的全国性数学建模活动。今年数学中国继续获得全球数学建模能力认证中心的授权,为参赛获奖的学生颁发数学建模能力认证,其目的是激励学生培养数学建模的能力,明确数学建模能力要求及范围,为数模社会效益化积累人才。 三、活动目的及其意义: (1)自主学习与认证赛相结合:我们举办认证赛的目的,是帮助学生的明确数学建模能力范围,从而勉励自己懂得如何自主学习数模且勤学多问。学生只有明确数学建模能力范围,才会去考虑如何利用数模能力来解决问题,从而对数学建模产生浓厚的学习兴趣,而比赛的真正目的不仅是为了获得的认可,还要让学生掌握数学建模技能。 (2)为了进一步推广美赛在中国的普及,进一步提高我国的数学建模整体水平和英文科技论文书写能力。 (3)旨在帮助广大想参加美赛的同学提高对于开放性题目的处理能力; (4)帮助学生提供数学建模能力证明的认证证书,为深造、学术交

流、求职提供便利; (5)凡获取认证资格的认证者,将会进入数学中国的数模人才库,此人才库是由认证中心和数学中国联合维护; (6)数学中国会对一些具有创新性的文章进行赛后的指导,帮助其将论文发表到全球数学建模能力认证中心的国际(英文)刊物上。 四、活动开展形式: 评议参赛者的英文论文 五、活动时间与地点: 时间:北京时间2016年4月15日上午8时-4月18日上午8 时北京时间2016年5月13日上午8时-4月16日上午8 时 地点:吕梁学院电教楼二楼 六、活动对象: 研究生、本科生、专科生、数学建模爱好者; 七、活动内容: 竞赛与教学相结合:我们竞赛分为两个阶段举行,每次竞赛结束三天后,我们会将所有的论文根据赛题、模型等分类在网上公示,同时提供评阅标准及赛题分析。每篇论文都会获得评分和简短的评阅意见。老师可以组织参赛学生以公示的论文为例,系统学习每道题目的不同模型及算法,使学生逐步积累数学模型及参赛经验,同时教会学生如何去评价模型、指出模型的优缺点,便于以后的论文

基于层次分析法的数学建模

基于层次分析法研究云南烟草品牌竞争力 摘要 与国外知名烟草品牌相比,国内的烟草品牌存在着品牌集中度不够,品牌多、杂、散、小;品牌定位模糊,市场占有率低;品牌形象乱,品牌美誉度低,消费者购买行为习惯化导致忠诚度差等问题,因此,本文采用层次分析法对在中国烟草行业中有着举足轻重地位的云南省烟草品牌竞争力进行了评价研究,分析云南烟草业品牌现状,提出品牌竞争力的影响因素,对提高云南烟草业的品牌竞争力、解决烟草业存在的问题提供一定的帮助。 关键词:烟草品牌云南烟草品牌竞争力层次分析法 一、问题重述 近年来,我国一直推进实施卷烟工业的整合重组、卷烟品牌的淘汰和优化。但是,由于之前的卷烟品牌众多;截止到 2009 年底我国的烟草企业有 30 家,卷烟品牌 138 个,所以目前我国烟草企业之间的竞争非常激烈,行业内有众多势均力敌的竞争对手。当今卷烟产品差异化日渐缩小,消费者购买时会更看重品牌价值和品牌文化,使烟草行业内部面临着激烈的竞争,以具有代表性的云烟为实证,分析云南烟草企业的品牌竞争力及影响品牌竞争力的主要因素,并提出提高云烟品牌竞争力的对策建议。

二、问题分析 (1)云南卷烟近年情况分析 图1为云产卷烟在全国各地区的销量情况,有颜色部分为云南卷烟销量均超过15.58万箱,在全国卷烟销售中占有很大份额。2008 年卷烟品牌为16个,比2003年的36个减少了 20个。作为全国卷烟产销量最大的省份,2009 年云南的产销量达到 3667.9 亿支。在卷烟产量增幅较小的情况下,2008 年云南烟草工业税利为 577 亿元,比2003 年的 330 亿元增加了 247 亿元。因此,分析云南卷烟品牌竞争力有助于对云南卷烟品牌做出适当的规划调整,很大程度上能够促进云南经济的发展。(数据为云南中烟系统中2015年 云产卷烟销量数据) 图1

数学建模对智能交通的影响

数学建模对智能交通的影响 城市交通的发展与面临的问题。据国家统计,我国大部分客运依靠高速公路,货运的主要模式仍然是汽车运输,汽车的交通是我国经济发展的生命线。但随着汽车运输量的增长,交通拥挤、能源消耗高、交通事故等问题也随之增加。尽管引入了新的道路交通设施等方法,但远远不能满足新增车辆的交通需求。如何利用现有的道路数量来缓解交通压力是交通面临的主要问题。汽车社会造成的交通拥堵不仅将造成巨大的经济损失,而且汽车排放造成的环境污染也将对人们的生活产生巨大的影响。据统计,中国车辆排放的氮氧化合物排放量占总排放量的30%,中国各大城市出现的空气污染部分原因也在此。交通事故造成的人员伤亡和经济损失也是很大的问题,据统计,中国每年因交通事故死亡人数约20万人。由于交通问题日益严重,各地的交通部门从许多方面对城市交通系统进行了改善。传统的方法收效甚微,随着计算机技术的飞速发展,越来越多的城市开始发展出智能交通系统。借助计算机通信以及电子信息技术,城市的智能交通正在给解决交通问题提供更多帮助。计算机通信与电子信息技术在智能交通系统中的应用。智能交通经过多年的普及和发展,目前已经建成了比较完善的智能化道路交通指挥系统,包括交通检测、交通信号控制、电视监控、交通违法检

测系统等。智能交通中计算机技术的应用包括了物联网技术、传感器技术、通信技术、GIS技术等。物联网技术是将每一辆车、监控中心、路边传感器等集成在一起,形成一个通信的巨大网络。物联网技术的主要作用是采集车辆实时信息,实现车与车、车与人的通信传输,还可以感知行驶环境,实现车辆之间的通信漫游,给交通管理部门提供车辆的加工处理信息。传感器技术在智能交通中已经得到了广泛的应用,传感器具有体积小、能耗低等特点,在数据采集和信息传输上有很大的作用。通过wifi网络、移动网络等可以将传感器采集的信息保存到服务器,进而对信息进行存储、汇聚、转发等操作,从而用于智能交通上。传感器还可以利用摄像头、电子芯片等对车辆周围信息进行采集,并以文件、图片等格式传给服务器,实现智能交通的管理。智能交通中还有许多通信技术,不仅包括传统的光纤通信,还有蓝牙、RFID 等技术。这些技术可以有效实现点对点通信,完成短距离内车辆与车辆、车辆与人之间数据的发送和接收。这些技术都利用了频率多址方式,可以有效提高频段的利用率。最新的TD-LTE技术还能实现多个方向上的信号发送与接收,利用并行通道为用户提供信息,对于用户接受各类型资源有重要的作用和意义。RFID由于其非接触式特性在智能交通中也得到广泛应用,比如在高速收费站实现了即时缴费功能,在物流仓储运输中可以管理货物的流通、车辆的流通、实现车

深圳杯数学建模A题答案完整版

深圳杯数学建模A题答 案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

摘要 深圳作为中国经济发展的重点城市,人口与医疗问题已经成为我们的焦点话题,是一个复杂的系统工程。本文针对深圳地区人口年龄分布情况,外来务工人员的数量,从实际出发,在基于一些合理简化假设的基础上,建立数学模型,并充分利用matlab等软件简化计算,对相关问题进行了有针对性的求解。 在预测未来十年深圳常住人口时,我们运用了matlab一元线性回归对近十年的数据进行了多次拟合,并对这些拟合进行了比较得出深圳常住人口模型公式为: 2 =+-+, 通过拟合预测出了未来十年深圳市常住人口的Q x e x x () 1.00050.00838.1671 数量,同时在网上2000年到2010年的人口结构的数据,通过Leslie矩阵预测出了未来十年人口结构的分布。通过分析深圳近人口数量和人口结构的变化,预测未来十年深圳市人口数量和结构的发展趋势,以此为基础预测未来全市和各区医疗床位需求呈线性递增趋势。同时选取了高血压,脑出血,癌症这三种疾病进行预测,运用matlab最小二乘法散点拟合,得出这三种疾病的发展趋势,由此预测出未来十年这三种疾病的就医的床位需求。 关键词:matlab、一元线性回归、Leslie、最小二乘法、床位需求 一、问题重述 从深圳的人口的结构来看,显着的特点是流动人口远远超过户籍人口,且年轻人口占主绝对优势。流动人口主要从事第二、三产业的企业一线工人等。年轻人身体好,发病少,导致深圳目前人均医疗设施低于全国类似城市平均水平,但仍能满足现有人口的就医需求。然而,政策的调整与世界的推移会使深圳市老年人增加。产业结构的变化也会影流动人口的数量。直接会导致深圳市未来的医疗需求的变化。 现有人口社会发展模型在面对深圳情况时,难以满足人口和医疗预测的要求。为了解决此问题,请根据深圳人口发展变化态势以及全社会医疗卫生资源投入情况(医疗设施、医护人员结构等方面)收集数据、建立针对深圳具体情况的数学模型,预测深圳未来的人口增长和医疗需求,解决下面几个问题: 1.分析深圳近十年常住人口、非常住人口变化特征,预测未来十年深圳市人口数量和结构的发展趋势,以此为基础预测未来全市和各区医疗床位需求; 2.根据深圳市人口的年龄结构和患病情况及所收集的数据,对几种病进行预测,在不同类型的医疗机构就医的床位需求。

数学建模之层次分析法

第四讲层次分析法 在现实世界中,往往会遇到决策的问题,比如如何选择旅游景点的问题,选择升学志愿的问题等等。在决策者作出最后的决定以前,他必须考虑很多方面的因素或者判断准则,最终通过这些准则作出选择。 比如选择一个旅游景点时,你可以从宁波、普陀山、浙西大峡谷、雁荡山和楠溪江中选择一个作为自己的旅游目的地,在进行选择时,你所考虑的因素有旅游的费用、旅游地的景色、景点的居住条件和饮食状况以及交通状况等等。这些因素是相互制约、相互影响的。我们将这样的复杂系统称为一个决策系统。这些决策系统中很多因素之间的比较往往无法用定量的方式描述,此时需要将半定性、半定量的问题转化为定量计算问题。层次分析法是解决这类问题的行之有效的方法。层次分析法将复杂的决策系统层次化,通过逐层比较各种关联因素的重要性来为分析、决策提供定量的依据。 一、建立系统的递阶层次结构 首先要把问题条理化、层次化,构造出一个有层次的结构模型。一个决策系统大体可以分成三个层次: (1) 最高层(目标层):这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果; (2) 中间层(准则层):这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则; (3) 最低层(方案层):这一层次包括了为实现目标可供选择的各种措施、决策方案等。 比如旅游景点问题,我们可以得到下面的决策系统: 目标层——选择一个旅游景点 准则层——旅游费用、景色、居住、饮食、交通 方案层——宁波、普陀山、浙西大峡谷、雁荡山、楠溪江 二、构造成对比较判断矩阵和正互反矩阵 在确定了比较准则以及备选的方案后,需要比较若干个因素对同一目标的影响,从额确定它们在目标中占的比重。如旅游问题中,五个准则对于不同决策者在进行决策是肯定会有不同的重要程度,而不同的方案在相同的准则上也有不同的适合程度表现。层次结构反映了因素之间的关系,但准则层中的各准则在目标衡量中所占的比重并不一定相同,在决策者的

交通状态数学建模

成都机动车尾号限行的影响分析 摘要 随着国民经济的高速发展和城市化进程的加快,我国机动车保有量及道路交通流量急剧增加,日益增长的交通需求与城市道路基础建设之间的矛盾已成为目前城市交通的主要矛盾,交通拥堵已经成为中国各大城市首要求解的顽疾。 继北京、广州等特大城市之后,西部省会城市成都于今年4月26日开始实施车牌号码尾号限行。为保障成都二环路改造工程的顺利施工,成都二环路全线及7条城区放射性主干道,对本地及外地社会车辆实施工作日分时段按车牌尾号进行限行,以缓解交通拥堵。 本篇论文通过研究道路交通拥挤的状况,来反映交通环境。即针对道路拥挤的问题进行数学建模分析,讨论“尾号限行”是否对交通状况起到积极的影响。 道路拥堵状况评价的指标有多种,为保证评价尽可能的客观、全面和科学,我们分析采用路段平均行程速度、单位里程平均延误和路段饱和度三个评价指标来综合放映道路拥堵情况。选取的片区为成都市塔子公园片区,包括蜀都大道东段和二环路东四段这两条限行道路,由于数据的不完整性以及对应事件的不确定性,如:交通指示灯作用,驾驶车辆的速度不均等情况所造成的数据和对应结果的不完全对应,综合考虑我们采取模糊数学模型来对问题一进行分析和求解,列出非常顺畅、顺畅、缓慢、拥堵和严重拥 r x,通过已确定的模糊评价矩阵R 堵五个评判标准来综合评价。确定出其隶属度函数() 得出拥挤度系数B,最终得出其实施后的各项指标。 对于问题二,要综合考虑整体城市的交通网络情况,此时的交通状态是一种不断变化的动态过程,具有很强的随机性和偶然性。而交通拥堵的潜伏、发展和产生与具有连贯性和相关性的特点,交通阻塞的发生与它的过去和现状紧密相关,因此,有可能通过对交通状态的现状和历史进行综合分析。据此,我们采取贝叶斯网络来建立数学模型,贝叶斯网络是一种对概率关系的有向图解描述,可以从不完全、不确定或不精确的知识或信息中做出推理。我们确定变量集元素有车流量、占有率、车流速度、车流密度等四个,由于数据的限制我们的变量域将设置为一百天,从而得出贝叶斯网络结构。 对于问题三,问题提出了道路负载能力分析,由有关的技术资料可知,通行能力反映了道路所能承受的交通负荷能力。通行能力是指在一定的道路、交通、控制和环境条件下,对应于一定的行驶质量即服务水平,在某一道路断面上单位时间所能通过的最大车辆数。道路通行能力受到道路、交通等多种条件影响,而交通系统中驾驶员的驾驶行为以及整个交通流又都具有显著的随机特征。所以本文通过建立仿真数学模型,构造出基本路段的道路、交通特性等因素,模拟其中车流的运行状态及其随时空变化的过程。通过对仿真运行过程的观察、仿真结果的统计以及与采集的有关数据的对比分析,研究基本路段的通行能力。 关键字:交通拥堵尾号限行模糊模型评价贝叶斯网络预测仿真模型

相关文档
相关文档 最新文档