数独问题数学建模

数独问题数学建模
数独问题数学建模

数独问题

摘要

本文是对数独问题进行求解。结合数独生成的特点,立足于题中数独建模和求解的要求,建立了数独难度分析()

WNF P函数和整数规划模型。

对于问题一,首先研究数独难度的影响因素,通过综合分析数独的特点结WNF P可以在常数时间内计算出来以衡量数独的难易程度。通过计构,得出()

WNF P=,根据数独难度的划分得到如下结论:数独难度系数算可知()0.04531

为4,达到了极难的程度。

对于问题二,我们通过对此数独的分析和讨论,利用穷举法,通过matlab 软件编程求解,最终得出答案,如表1所示。

对于问题三,我们利用回溯法思想,建立求解模型,具体算法一般采用如下步骤:

1).在此数独初盘选择一个空单元格;

2).取这个单元格中一个可能的候选数;

3).将这个候选数填入单元格中,迭代完成数独;

4).若这个候选数推导得到一个无效数独终盘,返回此单元格取其他候选数;

对于问题四采用整数规划模型,采用三维0-1 变量的方法,运用lingo软件编程求解。最终得到答案,如表1所示。

表1 数独问题的唯一解

8 1 2 7 5 3 6 4 9

9 4 3 6 8 2 1 7 5

6 7 5 4 9 1 2 9 3

1 5 4

2

3 7 8 9 6

3 6 9 8

4

5 7 2 1

2 8 7 1 6 9 5

3 4

5 2 1 9 7 4 3

6 8

4 3 8

5 2

6 9 1 7

7 9 6 3 1 8 4 5 2

关键词:数独数独难度分析穷举法回溯法整体规划

1问题的重述

前段时间芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。该数独如下图所示:

数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,且不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。

根据以上描述,试完成以下问题:

1. 分析此数独的难度;

2. 用穷举算法求解数独;

3. 设计此数独求解的较优的算法;

4. 建立数独求解模型并给出此数独的答案。

2模型的基本假设

1该数独问题存在唯一解。

3符号说明

X表示空单元格候选数

?

()

X的加权函数

W n表示候选数数?

()

c X表示数独空单元格中的候选数数目函数

n

E p表示该数独的空格处

()

()

WNF P表示该数独难度的函数

x表示数k是否填入数独方中的(i,j)处

ijk

c表示往空格处填入0后数独方中(i,j)处的数

ij

y表示经过求解后数独方中(i,j)处的数

ij

4模型的建立与求解

4.1 问题1

4.1.1数独难度的影响因素

通过对数独的分析与研究,数独难度与数独候选数、逻辑推理方法、搜索步数、空格数以及空格的分布情况都有密切的关系。通过大量的计算观察发现,用到的逻辑与推理方法越复杂,那么在数独中出现的候选数越多;反之,在数独题中出现的候选数越多,解决数独题所用到的逻辑推理方法一般也越难。解答一个数独所用到的搜索步数越多,数独中的候选数越多。反之,一般情况下也成立。另外数独中的空格数以及空格的分布情况与候选数也有同样类似的关系。综合这几个影响数独难度的几种因素,分析候选数和空格数为主要影响因素,再根据其构造加权规范函数()WNF P ,计算数值来衡量数独难度。

4.1.2 ()WNF P 函数的建立

加权规范函数建立在候选数列表的基础上。根据候选数列表,计算出每一个空单元格中的候选数数目,将候选数数目与其相对应的加权函数结合起来,计算加权规范函数WNF 。

定义单元格X 中的候选数数目函数()c X 为()?c X =X ,这个函数仅适用 于数独P 中的空单元格,而数独P 中的空单元格可以表示为

(){}{}|1,2,3,4,5,6,7,8,9:ννE P =X∈P ?∈X →/ (1)

有()19n n <<个候选数的候选数数目函数

()(){}{}||?n C c n n X =X∈P X ==X∈P X = (2)

我们赋予它相应的加权函数()W n ,从而得到加权函数

()()()9

1n n WF W n C =P =P ∑ (3)

()WF P 不能准确的反映数独难度,()WF P 受数独中空单元格数目影响很大,呈正向关系,如在数独中删除单元格,数独空单元格数增加,导致()WF P 增加,即空格数越多,()WF P 越大,然而这并不符合所有的数独。为了排除这一影响,将加权函数()WF P 规范,得到加权规范函数:

()()

()()()

9

1

9n W n C W WNF =P P =

E P ∑ (4)

根据以上的分析,对于某单元格X ,其候选数数?X 越大,其对应的加权函数()W n 也应越大。我们采用指数函数()exp 2n W n =”计算数独P 的()WNF P ,其中n 为某空单元格的候选数数目。计算发现,()WNF P 与数独难度是正相关的,即()WNF P 越大,数独的难度越大。

4.1.3 ()WNF P 函数的求解

根据题中给出的数独,按照数独游戏应该满足的条件,可以得到该数独的

空格处的候选数列表,如下表2所示:

表2 空格处候选数列表

8 1246 24569 2347 12357 1234 13569 4579 12459 124 3 6 12578 1248 1589 45789 14579 1456 7 456 348 9 1348 2 458 13456 123469 5 2469 2389 2368 7 1689 2489 12469 12369 12368 269 2389 4 5 7 289 1269 24679 2468 24679 1 268 2689 5689 3 24569 23457 234 1 23479 237 2349 359 6 8 23467 2346 8 5 2367 23469 39 1 2379 23567 9 2567 2378 123678 12368 4 257 2357

根据表2,把所得变量带入式(3)得:

()1392WF P = (5)

由()60E P =代入式(4)式中得:

()0.04531WNF P = (6)

4.1.4数独难度的划分

根据计算所得()WNF P 大小,我们将数独题难度分为四个区间,分别表示简单、中等、难、极难。为方便表示,我们用1、2、3、4来表示难度系数。

1)若()()0,0.012WNF P ∈,数独简单,有较多候选数的空单元格很少,此时数独题用一些简单的直观法就可以解决,用1表示。

2)若()()

WNF P∈,数独有一定难度,要解决此数独要用到候选

0.012,0.035

数法中的一些简单方法,且与直观法结合起来推理,用2表示。

WNF P∈,数独比较难,内部逻辑结构复杂,将直观法

3)若()()

0.035,0.045

与候选数法结合起来一般可以解决问题,用3表示。

0.045,1

WNF P∈,这个数独很难,内部的逻辑结构相当复杂,将直

4)若()()

观法与候选数法结合起来不一定可以解决问题,甚至有时候需要对某些空单元格进行猜测,用4表示。

在这里,我们将(0,1)粗略分为四个区间,用来相对表示数独的相对难度。根据数独难度的划分,由式(6)可得此数独难度系数为4,达到了极难的程度。

4.2 问题2

4.2.1算法的介绍

本问中需要的是用穷举法对数独问题进行求解,首先介绍一下穷举法:穷举法,或称为暴力破解法,是基于计算机特点而进行解题的思维方法。一般是在一时找不出解决问题的更好途径(即从数学上找不到求解的公式或规则)时,可以根据问题中的部分条件(约束条件)将所有可能解的情况列举出来,然后通过逐个验证是否符合整个问题的求解要求,而得到问题的解。这样解决问题的方法我们称之为穷举算法。穷举算法特点是算法简单,但运行时所花费的时间量大。因此,我们在用穷举方法解决问题时,应尽可能将明显的不符合条件的情况排除在外,以尽快取得问题的解。

4.2.2 求解的思想

结合本问中需要用穷举法解决数独问题,最终算出上面所给出的数独问题的解。针对此数独问题,在此先介绍一下我的算法思想:

1)建立一个堆栈来存放数据;

2)根据每行、每列和一个小九宫中不能出现相同的数字的规则来找出所有空格中的所有可能值;

3)从可能值中选取一个可能项最少的并提取一个出来,若还有可能值就将其放入堆栈中去,若提出的值不满足条件则从堆栈中再提取一个值来继续求解直到找到满足条件的解;

举个例子吧,对这一数独问题,可以很快找到第八行第七列的可能值为3和9,其它空格的可能值都超过了三个,现取出3出来进行尝试,那么放入堆栈中的是9和其它的可能值,还有a(数独值),然后一直按这种方法进行下去,要是遇到不满足则从堆栈中重新拿出一个值来,直到结果满足结束循环。下面列了一个流程图,如下流程图所示。首先进行对程序中的所用符号进行说明,先将数独中问题的初始值(空格为0)存入数组a,将所有空格中的可能值存入数组y。

4.2.3 问题的求解

根据该流程图进行编程,并在matlab中实现,具体程序见附录1。经过2分钟左右求解得到最终结果,如下表4所示:

开始 数据初始化 将a 中所有空格(0)找到其可能的判断是否有解 将堆栈中的y 和a 拿出判断是否需要将数据堆栈 将数据a 和y 放入将可能值赋给a 判断a 是否有0的值

结束

否 是

是 否

利用穷举法编程求解的流程图

4.3 问题3

根据问题2中处理方法,发现穷举算法的特点是算法简单,但运行时所花费的时间较长。因此,我们在此基础上进行改进,尽可能将明显的不符合条件的情况排除在外,以尽快取得问题的解。在求解数独的过程中,遍历此数独所有可能的搜索树,直至找到数独的解为止!在这个过程中,我们采用回溯法进行

求解。

回溯法是一种搜索算法,其基本思路是:在一个问题中,根据题意给出的边界条件划定出所有可能解的范围(称为可能解),根据题意确定出约束条件。利用程序顺次在所有可能解中,搜索时按照深度搜索的方式进行。即在第一层选定一个满足约束条件的解,然后以该可能解为出发点,搜索第二层的一个可能解(试探)。如果搜索到第二层的一个可能解,则继续搜索第三层的一个可能解。依次类推,直到所有层的可能解都被找到,则得到了该问题的一个完整解。如果第二层所有的可能解都不满足约束条件,则返回第一层,放弃原有的可能解,使用第一层的下一个可能解(回溯)。以此类推,寻找第二层的一个可能解。具体算法一般采用如下步骤:

1)在此数独初盘选择一个空单元格;

2)取这个单元格中一个可能的候选数;

3)将这个候选数填入单元格中,迭代完成数独;

4)若这个候选数推导得到一个无效数独终盘,返回此单元格取其他候选数;

由于回溯法是在不断地试探和回溯中运算,因此也可以称为试探法或者试探—回溯法。从上面的描述中可知,回溯法得到的问题的解只是根据不同的初始条件获得的第一个完全满足所有约束条件的解,因此该解的获得和初始条件有关。如果想要获得该问题的全部解,则需要遍历所有的可能的初始条件,也就是遍历所有的第一层的可能解。

回溯法相对于其他穷举的特点在于,不必把问题的每一层的所有的可能解都遍历一遍,只要当前的可能解不满足约束条件就抛弃该解,寻求下一个可能解,而不必求解其余的下层解。当当前层的所有可能解都不满足约束条件,」则回溯到上一层,抛弃上一层的当前可能解。从以上分析中结合数独问题的规则,得出数独问题的约束条件为:

l)每一格的数值范围仅限于l一9。

2)每一格内的数字在当前行不允许重复。

3)每一格内的数字在当前列不允许重复。

4)每一格内的数字在当前小九宫内不允许重复

此算法最坏运行时间是()n k n-

Ω,其中。n为数独中数字未确定的单元格数,k是数字已经确定的单元格数。但是将这个方法稍作修改就可以在线性时间解决一个数独题目,即首先选择数独中候选数个数最少的空单元格,再在其中选择候选数进行试验一检验。虽然回溯法有超多项式的最坏时间,但是这种算法可以判断任何数独是否具有唯一解,进而解决这个数独,难度很大的数独求解经常用到此法。

4.4 问题4

4.4.1问题的分析

根据对数独问题的分析,可知数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,并且不能重复。

为了叙述方便,对一个空的 9阶数独方的行、列、区进行重新编码。数独方的行序为从上到下记作1~9,列序为从左到右记作1~9;然后把每一个粗

线宫作为一个区,区的行序为从上到下记作1~3, 列序为从左到右记作1~3;区行的行序为从上到下记作1~3, 区列的列序为从左到右记作1~3。具体的编码方式如下图1所示:

4.4.2模型的建立 由于数()1,2,

,9k ∈ 要么填入 该9阶数独方矩阵的(i ,j )处,要么不

填入,只有这两种状态,因而可用三维0和1 变量来表示。又该9 阶数独方的解唯一,可将这唯一解作为目标函数,行、列、区的约束条件可用三维的0和1 变量表出。

4.4.2.1 决策变量

令1ijk x =: 表示数k 填入 n 阶数独方矩阵的(i ,j )处

0ijk x =: 表示数k 不填入(i ,j )处

4.4.2.2 目标函数与约束

规划问题的目标函数一般都是最大或最小型的,又因根据题意可知该 9 阶数独方的可行解唯一,且该可行解就是最优解,所以确定目标函数为单位数 1。

通过对数独这个问题的分析可以得出,所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,并且不能重复。因此可以得到如下约束 条件:

(1)每一(i ,j )处只能填一个数 k ; (2)第i 行只有一个 k ; (3)第j 列只有一个 k ;

(4)第一个区只有一个k ;

4.4.2.3 该9 阶数独方的数学模型

由上述分析可建立该9阶数独方的整数规划模型如下:

min 1z =

()()()()()

9

19

19

133********..1911001

11ijk k ijk j ijk i j

i

mnk m j n i ijk x x s t x x x ====-=-?=???=????=???

=??=??∑∑∑∑∑或

注:

(7)式表示数独方中每一(i ,j )处只能填入一个数k ;

(8)式表示每一行只能有一个数k ; (9)式表示每一列只能有一个数k ;

(10)式表示每一个区内只能有一个数k ; (11)式表示ijk x 只能取0或1; (12)上所有式中,,1,2,

,9i j k =

4.4.3模型的求解

要想求解问题中给出的数独问题,首先可将题目中的所有空格处填入同一常数a,不妨取 a=0,如表2所示。记 ij c 是表3中(i ,j )处的数,ij y 是数独求解后(i ,j )处的数,ijk x 是三维的0和1 变量,其含义如上所述。由上分析可知,任意填入(i ,j )处的任意数 ()1,2,

,9k k =,都有9

1

1ijk k x ==∑,那么

9

1

ij ijk k y kx ==∑

表3 往空格填入0后的数独方 8 0 0 0 0 0 0 0 0 0 0 3 6 0 0 0 0 0 0 7 0 0 9 0 2 0 0 0 5 0 0 0 7 0 0 0 0 0 0 0 4 5 7 0 0 0 0 0 1 0 0 0 3 0 0 0 1 0 0 0 0 6 8 0 0 8 5 0 0 0 1 0 0

9 0 0 0 0 4 0

根据上面建立的关于这个数独问题的整数规划模型,利用lingo软件编程进行求解,可以得到该模型的最优解,也就是这个数独问题的唯一解。具体程序见附录2,求解的最终结果如下表4所示:

表4 该数独问题的解

8 1 2 7 5 3 6 4 9

9 4 3 6 8 2 1 7 5

6 7 5 4 9 1 2 9 3

1 5 4

2

3 7 8 9 6

3 6 9 8

4

5 7 2 1

2 8 7 1 6 9 5

3 4

5 2 1 9 7 4 3

6 8

4 3 8

5 2

6 9 1 7

7 9 6 3 1 8 4 5 2

模型的检验

问题1中采用了一种对数独难度等级的划分方法,首先对问题的进行了综合的分析,然后在多个影响数独难度的因素中选取空格数和空格候选数作为主要影响因素,根据给出的计算方法对该数独进行计算,得出该数独的难度是属于极难的。由于在最后的计算过程中未考虑其他影响因素,因此得到的结果必然存在一定的误差,但这个划分方法还是可取的、有一定道理的。

问题2中采用了穷举法对该问题进行求解,由于该方法考虑了所有可能出现的情况,所以在有解的情况下一定可以求解该问题的解;也正因为如此,运用该算法进行求解时会花费较长的时间。

问题3中设计了一种更优的求解算法——回溯法。它主要是对穷举法进行了一定的改进,缩短了求解该数独问题的的时间。

问题4中建立了一个求解数独问题的模型——整数规划模型。该模型充分考虑了该数独应该满足的约束条件,并在此基础上编程进行求解,得到最终答案。该模型求解的结果相当准确,并适应于这一类问题的求解。

模型的分析与推广

WNF P度量的优劣

1.()

衡量数独难度的最客观方法就是找到解决这个数独所用时间,根据时间的长短判断数独难易。其次,可以根据解答这个数独所用到的逻辑推理方法难易,量数独难度。但这两种方法都需要具体解答出所给数独后才能做出判断,

WNF P可以在常数时虽然可以准确反映数独难度,但耗时较多。相比之下,()

间内计算出以衡量数独难易,对于任意一个数独,我们不必具体解答,只需列出它的候选数列表就可以计算出其相对难度,时间复杂性很低。扫描每个单元格所在的行、列、宫,通过唯一性原则确定其上的候选数,这种方法往往使得

每个单元格上的候选数较多,而有些候选数是可以通过一些简单的逻辑推理消WNF P的值可能会偏高,过高估量数独的难度,这也是这种除的,从而使得()

方法的缺陷所在。

2.问题2利用穷举法,模型思路比较简单,正适用于解决多维、大规模、复杂问题的通用法,借助matlab软件编程求解,使数独求解更加容易、方便,但它运行时间比较长。

3.问题3中介绍的算法——回溯法,它通过问题中的约束条件以试探-回溯-试探的筛选方式,将所有解的范围中不符合约束条件的解予以排除,从而达到快速求解的目的,这也是求解这一类问题的较优的算法。

4.对于问题4建立新的数独求解模型,我们采用三维0-1 变量,利用lingo 软件编程进行求解,使数独问题的数学表述变得简单易懂。同时该模型可用于处理类似的填数问题如幻方,拉丁方等。

参考文献

[1] 孟庆铃. 数独问题人工解法的程序实现[J]. 甘肃科技,2006,

22(09):150-151.

[2] 雷蕾,沈富可. 关于数独问题的算法的设计与实现[J]. 电脑知识与技

术,2007(2):481-482.

[3] 王琼,邹晟. 数独问题的求解、评价与生成算法的研究[J]. 南京师范大

学学报:工程技术版,2010,3(1):76-79.

[4]胡英武.数独问题的整数规划模型[J]. :2011,6:86-88.

[5] 刘晓宝. 数独游戏的解题算法[J]. 电脑编程技巧与维护,2007(5):64-

67.

[6] 程曦,肖华勇.数独谜题难度等级划分的步数法研究[J].电子设计工程,

2012,3:86-89

附录

附录1 问题2中matlab软件求解源程序:clear

clc

a=open('qiujie.mat');

a=a.a;

sp=0;

dui=[];

while find(a==0)

for i=1:3

for j=1:3

b(:,:,3*i+j-3)=a(3*i-2:3*i,3*j-2:3*j);

end

end

for i=1:9

for j=1:9

if a(i,j)==0

clear c

k=3*(ceil(i/3)-1)+ceil(j/3);

c=b(:,:,k);

lg=(c>0);

c=c(lg);

x=setdiff(1:9,c);

clear c

c=a(i,:);

lg=(c>0);

c=c(lg);

x=setdiff(x,c);

clear c

c=a(:,j);

lg=(c>0);

c=c(lg);

x=setdiff(x,c);

n=length(x);

for ii=1:9-n

x(ii+n)=0;

end

else

x=10*ones(1,9);

end

y(9*(i-1)+j,:)=x;

end

end

d=(y>0);

d=d';

d=sum(d);

d=d';

if find(d==0)

y=dui(:,:,sp);

a=dua(:,:,sp);

sp=sp-1;

d=(y>0);

d=d';

d=sum(d);

d=d';

end

d=find(d==min(d));

d=d(1);

i=ceil(d/9);

j=d-9*i+9;

A=y(d,1);

y(d,1)=y(d,2);

y(d,2)=y(d,3);

y(d,3)=0;

if sum(y(d,:))>0

sp=sp+1;

dui(:,:,sp)=y;

dua(:,:,sp)=a;

end

a(i,j)=A;

end

a

附录2 问题4中lingo软件的求解源程序:model:

sets:

da/1..9/:n;

link(da,da):y,c;

link1(da,da,da):x;

endsets

data:

n=1 2 3 4 5 6 7 8 9;

c=

8 0 0 0 0 0 0 0 0

0 0 3 6 0 0 0 0 0

0 7 0 0 9 0 2 0 0

0 5 0 0 0 7 0 0 0

0 0 0 0 4 5 7 0 0

0 0 0 1 0 0 0 3 0

0 0 1 0 0 0 0 6 8

0 0 8 5 0 0 0 1 0

0 9 0 0 0 0 4 0 0 ;

enddata

min=1;

@for(da(i):@for(da(j):@for(link|c(i,j)#ne#0:y(i,j)=c(i,j))));

@for(da(i):@for(da(j):y(i,j)=@sum(da(k):k*x(i,j,k))));

@for(da(i):@for(da(j):@sum(da(k):x(i,j,k))=1));

@for(da(i):@for(da(k):@sum(da(j):x(i,j,k))=1));

@for(da(j):@for(da(k):@sum(da(i):x(i,j,k))=1));

@for(da(i)|i#le#3:

@for(da(j)|j#le#3:

@for(da(k):

x(3*i-2,3*j-2,k)+x(3*i-2,3*j-1,k)+x(3*i-2,3*j,k)

+x(3*i-1,3*j-2,k)+x(3*i-1,3*j-1,k)+x(3*i-1,3*j,k)

+x(3*i,3*j-2,k)+x(3*i,3*j-1,k)+x(3*i,3*j,k)=1)));

@for(link1(i,j,k):@bin(x));

end

数学建模中常见的十大模型讲课稿

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

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

全国数学建模竞赛一等奖论文

交巡警服务平台的设置与调度 摘要 由于警务资源有限,需要根据城市的实际情况与需求建立数学模型来合理地确定交巡警服务平台数目与位置、分配各平台的管辖范围、调度警务资源。设置平台的基本原则是尽量使平台出警次数均衡,缩短出警时间。用出警次数标准差衡量其均衡性,平台与节点的最短路衡量出警时间。 对问题一,首先以出警时间最短和出警次数尽量均衡为约束条件,利用无向图上任意两点最短路径模型得到平台管辖范围,并运用上下界网络流模型优化解,得到A区平台管辖范围分配方案。发现有6个路口不能在3分钟内被任意平台到达,最长出警时间为5.7分钟。 其次,利用二分图的完美匹配模型得出20个平台封锁13个路口的最佳调度方案,要完全封锁13个路口最快需要8.0分钟。 最后,以平台出警次数均衡和出警时间长短为指标对方案优劣进行评价。建立基于不同权重的平台调整评价模型,以对出警次数均衡的权重u和对最远出警距离的权重v 为参数,得到最优的增加平台方案。此模型可根据实际需求任意设定权重参数和平台增数,由此得到增加的平台位置,权重参数可反映不同的实际情况和需求。如确定增加4个平台,令u=0.6,v=0.4,则增加的平台位置位于21、27、46、64号节点处。 对问题二,首先利用各区平台出警次数的标准差和各区节点的超距比例分析评价六区现有方案的合理性,利用模糊加权分析模型以城区的面积、人口、总发案次数为因素来确定平台增加或改变数目。得出B、C区各需改变2个平台的位置,新方案与现状比较,表明新方案比现状更合理。D、E、F区分别需新增4、2、2个平台。利用问题一的基于不同权重的平台调整评价模型确定改变或新增平台的位置。 其次,先利用二分图的完美匹配模型给出80个平台对17个出入口的最优围堵方案,最长出警时间12.7分钟。在保证能够成功围堵的前提下,若考虑节省警力资源,分析全市六区交通网络与平台设置的特点,我们给出了分阶段围堵方案,方案由三阶段构成。最多需调动三组警力,前后总共需要29.2分钟可将全市路口完全封锁。此方案在保证成功围堵嫌疑人的前提下,若在前面阶段堵到罪犯,则可以减少警力资源调度,节省资源。 【关键字】:不同权重的平台调整评价模糊加权分析最短路二分图匹配

2017全国数学建模竞赛B题

2017年高教社杯全国大学生数学建模竞赛题目 (请先阅读“全国大学生数学建模竞赛论文格式规范”) B题“拍照赚钱”的任务定价 “拍照赚钱”是移动互联网下的一种自助式服务模式。用户下载APP,注册成为APP的会员,然后从APP上领取需要拍照的任务(比如上超市去检查某种商品的上架情况),赚取APP对任务所标定的酬金。这种基于移动互联网的自助式劳务众包平台,为企业提供各种商业检查和信息搜集,相比传统的市场调查方式可以大大节省调查成本,而且有效地保证了调查数据真实性,缩短了调查的周期。因此APP成为该平台运行的核心,而APP中的任务定价又是其核心要素。如果定价不合理,有的任务就会无人问津,而导致商品检查的失败。 附件一是一个已结束项目的任务数据,包含了每个任务的位置、定价和完成情况(“1”表示完成,“0”表示未完成);附件二是会员信息数据,包含了会员的位置、信誉值、参考其信誉给出的任务开始预订时间和预订限额,原则上会员信誉越高,越优先开始挑选任务,其配额也就越大(任务分配时实际上是根据预订限额所占比例进行配发);附件三是一个新的检查项目任务数据,只有任务的位置信息。请完成下面的问题: 1.研究附件一中项目的任务定价规律,分析任务未完成的原因。 2.为附件一中的项目设计新的任务定价方案,并和原方案进行比较。 3.实际情况下,多个任务可能因为位置比较集中,导致用户会争相选择,一种 考虑是将这些任务联合在一起打包发布。在这种考虑下,如何修改前面的定价模型,对最终的任务完成情况又有什么影响? 4.对附件三中的新项目给出你的任务定价方案,并评价该方案的实施效果。 附件一:已结束项目任务数据 附件二:会员信息数据 附件三:新项目任务数据

全国研究生数学建模竞赛-参赛队的参赛流程如图11所示。

全国研究生数学建模竞赛,参赛队的参赛流程如图1-1所示。图1-1 参赛队操作流程 其中: 若参赛队由培养单位缴费,则无需进行“缴费验证”操作。

1 注册报名 本章介绍参赛队如何在“全国研究生数学建模竞赛”网站中进行注册报名。 前提条件 您是本届“全国研究生数学建模竞赛”的参赛队员。 操作步骤 步骤1在浏览器地址栏中输入“全国研究生数学建模竞赛网站”网址。 网站地址:https://www.360docs.net/doc/881693628.html,/ 支持浏览器类型:IE、Mozilla Firefox、Google浏览器 步骤2在登录区域中,选择“参赛队登录”页签,如图1-1所示。 图1-1 参赛队注册登录页面 步骤3参赛队注册。 1.单击“注册”,系统跳转至注册页面,如图1-2所示。

图1-2 注册页面 2.填写注册信息,单击“立即注册”。 3.在“注册成功”提示框中,单击“确定”完成注册。 步骤4参赛队登录网站完善参赛选手信息。 1.使用已注册账号登录数模网站。 系统进入参赛队信息管理页面,如图1-3所示。 -左侧为目录树,您可以单击选择您要操作的选项,例如“选手首页”。 -右侧展示“选手首页”页面,可查看参赛相关信息,如选手审核、缴费状态,竞赛日程安排等。

图1-3 参赛队信息维护 2.在“选手首页”单击“编辑资料”,或在左侧目录树中选择“选手资料> 编辑资料”。 系统进入选手资料上报页面,如图1-4所示。 图1-4 完成选手信息

3.在编辑页面如实填写队长、第一队员、第二队员信息。 4.单击“提交信息”,提交竞赛报名。 请如实填写选手信息,参赛选手信息审核通过后不能再编辑,如需修改请联系所在培养单位的负责 老师。 ----结束 后续处理 参赛队完成参赛信息提交后,需等待培养单位审核。审核通过,才完成参赛报名。 参赛队可在“选手中心 > 选手首页”菜单下查看资料审核状态: ●审核前: ●审核通过: ●未审核通过: 未审核通过,参赛队可单击“编辑资料”进入“参赛选手资料上报”页面,修改参赛选 手信息后重新提交审批。

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

数学建模常用的十大算法==转 (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 题逢山开路,山体海拔高度的插值计算,还有吵的沸沸扬扬可能会考的“非典”问题也要用到数据拟合算法,观察数据的

数独介绍 (文科试卷分析侯立伟)

有关数独知识的背景介绍 数独Sudoku(日语:すうどく)是2005年风靡世界的智力填数游戏,在英国尤为狂热.在标准的9?9矩阵中,游戏者用从1到9九个数字填满空格,要求横竖各行都是从1到9的数字,而且每一行或者列没有重复数字.与普通的填字游戏相比,Sudoku的优势显而易见,第一,使用阿拉伯数字,全球通用;第二,游戏者具有一般的思考能力就够了;第三,规则非常简单. 一.数独发展的历史 数独的雏型首先于1970年代由美国的一家数学逻辑游戏杂志发表,当时名为Number Place.现今流行的数独于1984年由日本游戏杂志《パズル通信ニコリ》发表并确定为现在的名称.数独本是“独立的数字”的省略,因为每一个方格都填上一个个位数. Sudoku的流行与1997年香港回归有点渊源.新西兰人韦恩·古尔德(Wayne Gould),在香港法院系统工 作了大半生.随着香港回归的临近,他一边环球旅游,一边打算在退休之后找点事情 做.就在退休前去东京的旅行时,他发现一种日本80年代中期出现的数字游戏.它就 是Sudoku,这个游戏的推广商是一家叫做Nikoli的出版社,专门从事智力题业务, 他们最早从一家叫《戴尔杂志》(Dell Magazine)的美国智力游戏杂志获得了灵感. 早在1979年这家杂志推出了Sudoku,发明人是一位叫霍华德·戛纳斯(Howard Garnes)的建筑师. 从来没有玩过Sudoku,古尔德很快就做完了,于是就想着多做 一些.他不是数学天才,只不过是对数字感兴趣,一度希望退休了可以编编程序.结果 在这样的兴趣驱动下,古尔德花了6年的时间研究如何用计算机来随机产生Sudoku 的矩阵,不想6年之后,当2004年11月,他的一个Sukodu游戏在《泰晤士报》 刊登出来,他的兴趣引发了全球性的“数独迷幻”.Sudoku的规则看起来很简单,然而英国谢菲尔德大学和德国Dresden技术大学的研究表明,这样的9?9的矩阵,理论上说有6,670,903,752,021,072,936,960种组合.因此,这是一个穷尽一生的游戏. 二.现代科学家关于数独研究 著名的程序是爱尔兰数学教授麦盖尔博士(Gary McGuire)的免费程序SOLVER.EXE ,计算机专业的学生都可以写的出这个程序,. http://www.math.ie/checker.html 下载这个程序 全部的数独解(Sudoku grids )有6,670,903,752,021,072,936,960这是贝米耳(Stanley E. Bammel)与罗思坦(Jerome Rothstein)二位数学家计算出来的,有专门研究的报告 https://www.360docs.net/doc/881693628.html,/sudoku/ 登陆这个网址可以查看报告内容 由于同一个数独可以变形,例如左右纵列交换、上下横行交换、数字代码交换(例如1和5交换,2和8、3和4...)重复前面几次之后,就分不清是来自同一个数独,但是专家们还是有法子的. 澳大利亚的大学(The University of Western Australia )教授Gordon Royle 博士利用图形理论,发展出辨识数独变形的方法.将数独谜题利用Nauty 程序图形转化,然后作比对. https://www.360docs.net/doc/881693628.html,.au/gordon/sudokumin.php 如果考虑经过变形的数独不算是新数独,那么数独解的数目会少很多! 现在有数学、计算机、...等专家们正在研究, 三.数独Sudoku背后的四个数学问题 德国名画家丢勒的这幅木刻画《忧郁症》(Melencolia)描述的就是一个因为数学患上忧郁症的天使.让画中天使牵挂的就是墙上挂着的数字迷宫,横向、纵向、对角线数字的和都是34,在最下面一行的中间两格,画家自娱地留下了创作年代1514. 古埃及石墙上的数字方阵也许是最古老的数独游戏

全国大学生数学建模竞赛论文--范例

承诺书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。 我们参赛选择的题号是(从A/B/C/D中选择一项填写): 我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全 名):参赛队员(打印并签名):1. 2. 3. 指导教师或指导教师组负责人(打印并签名): 日期:年月日赛区评阅编号(由赛区组委会评阅前进行编号):

编号专用页 赛区评阅编号(由赛区组委会评阅前进行编号): 全国统一编号(由赛区组委会送交全国前编号):

全国评阅编号(由全国组委会评阅前进行编号):

眼科病床的合理安排 摘要 病床是医院的重要卫生资源,其使用情况是反映医院工作效率的重要指标,合理分配床位、提高病床使用率对于充分利用医疗资源、提高医院的两个效益有着十分重要的意义。 本题针对某医院眼科病床分配中存在的不合理现象,让我们建立一个合理的病床安排模型,以解决病床的最优分配问题,从而提高对医院资源的有效利用。 针对问题一,本文制定的指标评价体系包括门诊相关指标集(病人平均等待时间、门诊等待平均队长、病人平均满意度)和病床相关指标集(出院者平均住院日数、病床平均工作日、病床平均周转率、实际病床利用率)。为了能够全面地评价出模型的优劣,本文采用目前普遍使用的密切值法、TOPSIS法和RSR法等综合评价方法,并对应建立了三个评价模型,以得出更为科学合理的结论。 针对问题二,本文建立了以病床需求数为状态转移变量、以各类病人的病床安排数为决策变量的动态规划模型。模型中,充分考虑了观测期内病人平均等待时间、病床平均周转率、病床利用率和潜在流失率等指标,且在制定寻优策略时,引入了病人满意度量化函数和优先级函数,使得模型更加合理。通过Matlab 对该模型求解,得出了次日病床安排方案(结果见表4)。 综合评价模型时,以该医院目前的病床安排方案和我国医院通用的病床安排方法为比较对象,借助上述三种评价方法和模型,进行了综合评价比较,从综合评价结果来看,本文的模型相对较优(评价结果见表9)。 针对问题三,本文既充分考虑了如何缩短病人平均等待时间和提高病床利用率,又兼顾了公平原则,根据病症的不同和就诊病人到院的顺序制订了优先服务策略,给出了每个病人相应的入住时间区间(见P18)。 针对问题四,由于住院部周六和周日不安排手术,对某些类型病人的病床安排产生了一定的影响,因此我们对问题二中模型的优先级函数进行了相应的调整,并利用Matlab进行了求解(结果见表10)。 为了判断手术安排时间是否改变,本文根据问题一的评价方法和模型对修改后的模型进行了综合评价,从评价结果得知,手术安排时间应该做相应的调整。 针对问题五,为了使所有病人在系统内的平均逗留时间(含等待入院及住院时间)最短,本文建立了以其为目标函数且带约束条件的非线性规划模型,并利用了Lingo 软件对其进行求解,得出的结论是:分配给外伤、白内障(双眼)、白内障(单眼)、青光眼、视网膜疾病等各类型病人的床位数依次为:8、16、12、21、22,分别占总床数的比例为:10.13%、20.25%、15.19%、26.58%、27.85%。 最后,本文对所建模型的优点和缺点进行了客观的评价,认为本文研究的结果在实际医院病床安排中有一定的参考价值。 关键词:病人平均等待时间;实际病床利用率;RSR 法;满意度量化函数;动态规划模型;非线性规划 1.问题重述 医院就医排队是大家都非常熟悉的现象,它以这样或那样的形式出现在我们面前,例如,

全国大学生数学建模竞赛论文

2009高教社杯全国大学生数学建模竞赛 承诺书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。 我们参赛选择的题号是(从A/B/C/D中选择一项填写): 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 参赛队员(打印并签名):1. 2. 3. 指导教师或指导教师组负责人(打印并签名):指导教师组 日期:年月日 赛区评阅编号(由赛区组委会评阅前进行编号):

2009高教社杯全国大学生数学建模竞赛 编号专用页 赛区评阅编号(由赛区组委会评阅前进行编号): 全国评阅编号(由全国组委会评阅前进行编号):

论文标题 摘要 摘要是论文内容不加注释和评论的简短陈述,其作用是使读者不阅读论文全文即能获得必要的信息。 一般说来,摘要应包含以下五个方面的内容: ①研究的主要问题; ②建立的什么模型; ③用的什么求解方法; ④主要结果(简单、主要的); ⑤自我评价和推广。 摘要中不要有关键字和数学表达式。 数学建模竞赛章程规定,对竞赛论文的评价应以: ①假设的合理性 ②建模的创造性 ③结果的正确性 ④文字表述的清晰性 为主要标准。 所以论文中应努力反映出这些特点。 注意:整个版式要完全按照《全国大学生数学建模竞赛论文格式规范》的要求书写,否则无法送全国评奖。

四宫数独教学设计

模块六统计 “幼儿四宫数独”教学设计 【学习内容】 幼儿数独 【学习目标】 1.认识四宫“数独”游戏的规则,掌握玩“数独”的方法; 2.通过数学游戏,提高学生推理能力,培养学习数学的兴趣; 3.培养学生养成动手之前先动脑的好习惯,动手实际摆一摆,在拼摆的过程中不断尝试,克服困 难,用数独的思想指导生活。 学习工具:益智学具:幼儿数独 学习形式:每4人为一组,拼摆与讨论。 问题清单: 1.仔细观察横着看,你能发现哪几个数字? 2.竖着看你又能发现哪几个数字? 3.在一个正方形围城的框里,你又能发现哪几个数字? 【活动过程】 1.创设情境,提出问题 教师带来一个既能培养我们的观察能力,又能锻炼我们动手动脑能力,并且它是所有聪明人喜欢玩的一种填数字游戏,孩子想变成聪明人那就一起来玩游戏。 出示:幼儿四宫数独 简介“独”的意思:单一的,独自的,然后理解“数独”之意:单一的数字或独立的数字,“宫”为一种小房子,古代帝王或太子居住的地方,用自己的话说“四宫数独”的意思,加深游戏印象。 简介游戏组成部分: 左面这是游戏盒,类似于我们平时的棋盘,上面有十六个圆形的小孔,右面是十六颗棋子,分别是四个相同的1、2、3、4,从图中,你能猜到我们要玩什么吗? 预设:玩数字,把数字摆放在小圆孔上。 这是我提前摆好的棋子,请看:

动手之前,我们先来看“问题清单”: 1.仔细观察棋盘,横着看你能发现哪几个数字? 2.竖着看你又能发现哪几个数字? 3.在分成的四个正方形内,你又能发现哪几个数字? 【设计意图】学生平时接触的棋类和今天要玩的数字棋大不相同,因此在清单里面要抓住让学生观察的重点四个数字:1、2、3、4,先让学生在意识里引起注意要玩让学生的棋跟四个数字有关,而且要简洁明了的让他知道四个数字分别出现在哪里,显得尤为重要。 2.活动与实验,建立模型 1.弄清横着为行,竖着为列,每四个小格子围城的正方形是一宫。 2、填数字游戏规则:每一行里有1、2、 3、4,每一列里有1、2、3、4,每一宫里也有1、2、3、 4,而且不能够重复,只能出现一次。 同学们已经迫不及待了,想玩填数字游戏吗?那就要按要求去做。 活动要求: (1)在一行中这样摆,那剩余的格子怎么摆。 (2)在一列中这样摆,那剩余的格子应该怎么摆? (3)在一宫中这样摆,那剩余的格子应该怎么摆? 【设计意图】学生第一次接触这种填数字的游戏,增加了难度,孩子不但会填更要动手操作把它摆正确,这就要求学生动手之前先动脑,设计了三个简单的动手操作活动,简单的活动让学生熟悉规则,调动学生继续玩下去的兴趣,让他获得成功的喜悦。为后面更加复杂的摆数字游戏积累初步的活动经验,把复杂的问题简单处理,由易到难的拼摆符合学生的认知规律。 2.汇报展示。 (1)我这样摆。 (2)我这样摆.

2020全国大学生数学建模竞赛试题

A题炉温曲线 在集成电路板等电子产品生产中,需要将安装有各种电子元件的印刷电路板放置在回焊炉中,通过加热,将电子元件自动焊接到电路板上。在这个生产过程中,让回焊炉的各部分保持工艺要求的温度,对产品质量至关重要。目前,这方面的许多工作是通过实验测试来进行控制和调整的。本题旨在通过机理模型来进行分析研究。 回焊炉内部设置若干个小温区,它们从功能上可分成4个大温区:预热区、恒温区、回流区、冷却区(如图1所示)。电路板两侧搭在传送带上匀速进入炉内进行加热焊接。 图1 回焊炉截面示意图 某回焊炉内有11个小温区及炉前区域和炉后区域(如图1),每个小温区长度为30.5 cm,相邻小温区之间有5 cm的间隙,炉前区域和炉后区域长度均为25 cm。 回焊炉启动后,炉内空气温度会在短时间内达到稳定,此后,回焊炉方可进行焊接工作。炉前区域、炉后区域以及小温区之间的间隙不做特殊的温度控制,其温度与相邻温区的温度有关,各温区边界附近的温度也可能受到相邻温区温度的影响。另外,生产车间的温度保持在25oC。 在设定各温区的温度和传送带的过炉速度后,可以通过温度传感器测试某些位置上焊接区域中心的温度,称之为炉温曲线(即焊接区域中心温度曲线)。附件是某次实验中炉温曲线的数据,各温区设定的温度分别为175oC(小温区1~5)、195oC(小温区6)、235oC(小温区7)、255oC(小温区8~9)及25oC(小温区10~11);传送带的过炉速度为70 cm/min;焊接区域的厚度为0.15 mm。温度传感器在焊接区域中心的温度达到30oC时开始工作,电路板进入回焊炉开始计时。 实际生产时可以通过调节各温区的设定温度和传送带的过炉速度来控制产品质量。在上述实验设定温度的基础上,各小温区设定温度可以进行oC范围内的调整。调整时要求小温区1~5中的温度保持一致,小温区8~9中的温度保持一致,小温区10~11中的温度保持25oC。传送带的过炉速度调节范围为65~100 cm/min。 在回焊炉电路板焊接生产中,炉温曲线应满足一定的要求,称为制程界限(见表1)。 表1 制程界限 界限名称 最低值 最高值

数独问题 数学建模

数独问题 摘要 本文是对数独问题进行求解。结合数独生成的特点,立足于题中数独建模和 WNF P函数和整数规划模型。 求解的要求,建立了数独难度分析() 对于问题一,首先研究数独难度的影响因素,通过综合分析数独的特点结构,WNF P可以在常数时间内计算出来以衡量数独的难易程度。通过计算可知得出() ()0.04531 WNF P=,根据数独难度的划分得到如下结论:数独难度系数为4,达到了极难的程度。 对于问题二,我们通过对此数独的分析和讨论,利用穷举法,通过matlab 软件编程求解,最终得出答案,如表1所示。 对于问题三,我们利用回溯法思想,建立求解模型,具体算法一般采用如下步骤: 1).在此数独初盘选择一个空单元格; 2).取这个单元格中一个可能的候选数; 3).将这个候选数填入单元格中,迭代完成数独; 4).若这个候选数推导得到一个无效数独终盘,返回此单元格取其他候选数; 对于问题四采用整数规划模型,采用三维0-1 变量的方法,运用lingo软件编程求解。最终得到答案,如表1所示。 关键词:数独数独难度分析穷举法回溯法整体规划

1问题的重述 前段时间芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。该数独如下图所示: 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,且不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。 根据以上描述,试完成以下问题: 1. 分析此数独的难度; 2. 用穷举算法求解数独; 3. 设计此数独求解的较优的算法; 4. 建立数独求解模型并给出此数独的答案。 2模型的基本假设 1该数独问题存在唯一解。 3符号说明 X表示空单元格候选数 ? () X的加权函数 W n表示候选数数? () c X表示数独空单元格中的候选数数目函数 n E p表示该数独的空格处 () () WNF P表示该数独难度的函数 x表示数k是否填入数独方中的(i,j)处 ijk c表示往空格处填入0后数独方中(i,j)处的数 ij y表示经过求解后数独方中(i,j)处的数 ij

全国数学建模大赛题目

2010高教社杯全国大学生数学建模竞赛题目 A题储油罐的变位识别与罐容表标定 通常加油站都有若干个储存燃油的地下储油罐,并且一般都有与之配套的“油位计量管理系统”,采用流量计和油位计来测量进/出油量与罐内油位高度等数据,通过预先标定的罐容表(即罐内油位高度与储油量的对应关系)进行实时计算,以得到罐内油位高度和储油量的变化情况。 许多储油罐在使用一段时间后,由于地基变形等原因,使罐体的位置会发生纵向倾斜和横向偏转等变化(以下称为变位),从而导致罐容表发生改变。按照有关规定,需要定期对罐容表进行重新标定。图1是一种典型的储油罐尺寸及形状示意图,其主体为圆柱体,两端为球冠体。图2是其罐体纵向倾斜变位的示意图,图3是罐体横向偏转变位的截面示意图。 请你们用数学建模方法研究解决储油罐的变位识别与罐容表标定的问题。 (1)为了掌握罐体变位后对罐容表的影响,利用如图4的小椭圆型储油罐(两端平头的椭圆柱体),分别对罐体无变位和倾斜角为α=4.10的纵向变位两种情况做了实验,实验数据如附件1所示。请建立数学模型研究罐体变位后对罐容表的影响,并给出罐体变位后油位高度间隔为1cm的罐容表标定值。 (2)对于图1所示的实际储油罐,试建立罐体变位后标定罐容表的数学模型,即罐内储油量与油位高度及变位参数(纵向倾斜角度α和横向偏转角度β)之间的一般关系。请利用罐体变位后在进/出油过程中的实际检测数据(附件2),根据你们所建立的数学模型确定变位参数,并给出罐体变位后油位高度间隔为10cm的罐容表标定值。进一步利用附件2中的实际检测数据来分析检验你们模型的正确性与方法的可靠性。 附件1:小椭圆储油罐的实验数据 附件2:实际储油罐的检测数据 地平线油位探针

数学建模优化问题经典练习

1、高压容器公司制造小、中、大三种尺寸的金属容器,所用资源为金属板、劳 万元,可使用的金属板有500t,劳动力有300人/月,机器有100台/月,此外,不管每种容器制造的数量是多少,都要支付一笔固定的费用:小号为100万元,中号为150万元,大号为200万元,现在要制定一个生产计划,使获得的利润为最大, max=4*x1+5*x2+6*x3-100*y1-150*y2-200*y3; 2*x1+4*x2+8*x3<=500; 2*x1+3*x2+4*x3<=300; 1*x1+2*x2+3*x3<=100; @bin(y1); @bin(y2); @bin(y3); y1+y2+y3>=1; Global optimal solution found. Objective value: 300.0000 Extended solver steps: 0 Total solver iterations: 0 Variable Value Reduced Cost X1 100.0000 0.000000 X2 0.000000 3.000000 X3 0.000000 6.000000 Y1 1.000000 100.0000 Y2 0.000000 150.0000 Y3 0.000000 200.0000 Row Slack or Surplus Dual Price 1 300.0000 1.000000 2 300.0000 0.000000 3 100.0000 0.000000 4 0.000000 4.000000 5 0.000000 0.000000

数独中的数学模型

数独中的数学模型 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

数独中的数学模型 摘要 现如今数独游戏风靡全球,深受人们喜爱。其难度等级多样,求解数独难度等级较高的常常需要花费大量的时间和精力,因此我们试图用计算机来解决这一问题。 在问题一中,我们主要考虑空格数的多少以及空格自由度与数独难度等级的关系。由一定的案例分析得出数独题目的难度等级与空格数存在正比关系,接着我们考虑如果只是简单的按照空格的数目多少来划分数独题目的难易程度是不全面的,因此继续分析,得出空格自由度与数独的难度等级存在正比的关系,最后又以空格数和空格自由度综合分析进行验证,得出此数独等级为3级。[1] 空格自由度法模型如下: 在问题二中,我们运用穷举法分析大量可能情况,再用MATLAB编写程序得出此数独游戏的终盘。 在问题三中,我们运用了比较排除法、唯一解法和综合法来求解此数独游戏,最终选用综合法作为较优方法。[1] 在问题四中,我们用循环回溯法进行求解,使用MATLAB编写程序得出结果(见表8)。[1] 关键字:穷举法比较排除法唯一解法循环回溯法数独空格数空格自由度 一、问题背景 数独是一种数字解谜游戏,英文名叫Sudoku,前身为“九宫格”,当时的算法比现在的更为复杂,要求纵向、横向、斜向上的三数之和等于15,而不只是数字的不能重复,儒家典籍《易经》中的“九宫图”也是来源于此。关于它

的起源一直存有争议,有人认为最早起源于中国,也有人认为起源于瑞士。1970年由美国一家数学逻辑游戏杂志首先发表,名为Number。后在日本流行,于1984年把Sudoku取名为数独。数独全面考验做题者观察能力和逻辑推理能力,它的玩法逻辑简单,除了1到9的阿拉伯数字以外,不必用到任何东西,但数字的排列方式却又千变万化,不少教育者认为,数独是锻炼大脑的绝佳方式。它不仅具有很强的趣味性,也是一种对智慧和毅力的考验。 二、问题重述 芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。这位数学家说,他相信只有“智慧最顶尖”的人才有可能破解这个“数独之谜”。 所给数独游戏表格如下: 据介绍,目前,数独游戏难度的等级有一到五级,一是入门等级,五则比较难。不过这位数学家说,他所设计的数独游戏难度等级是十一,可以说是所有数独游戏中,难度最高的等级。 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。 由此我们要解决以下问题: 问题一:分析此数独的难度; 问题二:用穷举算法求解数独; 问题三:设计此数独求解的较优的算法;

数学建模习题及问题详解

第一部分课后习题 1.学校共1000名学生,235人住在A宿舍,333人住在B宿舍,432人住在C宿舍。学生 们要组织一个10人的委员会,试用下列办法分配各宿舍的委员数: (1)按比例分配取整数的名额后,剩下的名额按惯例分给小数部分较大者。 (2)2.1节中的Q值方法。 (3)d’Hondt方法:将A,B,C各宿舍的人数用正整数n=1,2,3,…相除,其商数 将所得商数从大到小取前10个(10为席位数),在数字下标以横线,表中A,B,C行有横线的数分别为2,3,5,这就是3个宿舍分配的席位。你能解释这种方法的道理吗。 如果委员会从10人增至15人,用以上3种方法再分配名额。将3种方法两次分配的结果列表比较。 (4)你能提出其他的方法吗。用你的方法分配上面的名额。 2.在超市购物时你注意到大包装商品比小包装商品便宜这种现象了吗。比如洁银牙膏50g 装的每支1.50元,120g装的3.00元,二者单位重量的价格比是1.2:1。试用比例方法构造模型解释这个现象。 (1)分析商品价格C与商品重量w的关系。价格由生产成本、包装成本和其他成本等决定,这些成本中有的与重量w成正比,有的与表面积成正比,还有与w无关的因素。 (2)给出单位重量价格c与w的关系,画出它的简图,说明w越大c越小,但是随着w 的增加c减少的程度变小。解释实际意义是什么。 3.一垂钓俱乐部鼓励垂钓者将调上的鱼放生,打算按照放生的鱼的重量给予奖励,俱乐部 只准备了一把软尺用于测量,请你设计按照测量的长度估计鱼的重量的方法。假定鱼池中只有一种鲈鱼,并且得到8条鱼的如下数据(胸围指鱼身的最大周长): 先用机理分析建立模型,再用数据确定参数 4.用宽w的布条缠绕直径d的圆形管道,要求布条不重叠,问布条与管道轴线的夹角 应 多大(如图)。若知道管道长度,需用多长布条(可考虑两端的影响)。如果管道是其他形状呢。

儿童数独入门(三)

儿童数独入门(三) 戎卫武 一、教学内容: “数独”(英文名为 SU DOKU)(三) 二、教学目标: 知识与技能: 1、培养学生把握全局的能力。 2、培养学生的观察反应能力。 3、培养学生分析推理能力。 数学思考:通过数独游戏,可以益智,可以获得持久的脑力锻炼。 解决问题:培养学生用排除法思考问题,初步学会的推理分析问题,掌握解决问题的策略。 情感态度与价值观:既在同伴之间的交流与团结协作中,获得肯定,又在独立思考后,获得成就感。 三、教学重、难点: 培养学生的观察和推理能力。 四、教具和学具: 课件数独游戏学具 五、教学过程: 1、激趣引新: 师:同学们,我们已经学会了玩简单的数独,你们喜欢数独吗?今天老师将为你们介绍9×9的数独游戏:

数独是一种逻辑数组谜题。“数独”是一个9×9的方阵,它是由九个“九宫格”(图中黑色实线围住的3×3的方阵)构成的,每个九宫格又是由九个小格子构成的,在空白的小格子里填上1~9中的数字,使得每个数字在“九宫格”的每行、每列、每个九宫格中均只出现一次。游戏会从一个部分带有数字的九宫格开始。 2、建立数独的模型 数独是一款很经典的益智数字游戏,可以用来锻炼益智的,它包含九直行九横列,共分成九个九宫格,每行列都由1到9、不能重复的阿拉伯数字组成,每个九宫格亦然。 赶紧来看看数独的游戏规则吧: 数独游戏在9x9的方格内进行,分为3x3的小方格,被称为“宫”: 数独游戏首先从已经填入数字的格子开始:

数独游戏的目的是根据下列规则,用1至9之间的数字填满空格,一个格子只能填入一个数字: 1. 每个数字在每一行只能出现一次: 2. 同样的,每个数字在每一列只能出现一次: 3. 每个数字在每一区只能出现一次: 总结这些规则,即每个数字在每一行、每一列和每一宫只能出现一次。 3、应用体验。 学生用数独游戏卡片及学具玩9×9数独游戏 两人一组(或四人一组)玩 第1---5关(基本的9×9数独)

全国数学建模竞赛B题CUMCMB

2 0 1 3 高教社杯全国大学生数学建模竞赛题目 (请先阅读“全国大学生数学建模竞赛论文格式规范”) B 题碎纸片的拼接复原 破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。请讨论以下问题: 1. 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接 复原模型和算法,并针对附件1、附件 2 给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果以图片形式及表格形式表达(见【结果表达格式说明】)。 2. 对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4 给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果表达要求同上。 3. 上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。附件 5 给出的是一页英文印刷文字双面打印文件的碎片数据。请尝试设计相应的碎纸片拼接复原模型与算法,并就附件 5 的碎片数据给出拼接复原结果,结果表达要求同上。 【数据文件说明】 (1) 每一附件为同一页纸的碎片数据。 (2) 附件1、附件2为纵切碎片数据,每页纸被切为19 条碎片。 (3) 附件3、附件4为纵横切碎片数据,每页纸被切为11X19个碎片。 (4) 附件5为纵横切碎片数据,每页纸被切为11 X 19个碎片,每个碎片有正反两面。该附件中 每一碎片对应两个文件,共有2X 11X 19个文件,例如,第一个碎片的两面分别对应文件000a、000b。 【结果表达格式说明】 复原图片放入附录中,表格表达格式如下: (1) 附件1、附件2的结果:将碎片序号按复原后顺序填入1X 19的表格; (2) 附件3、附件4的结果:将碎片序号按复原后顺序填入11X 19的表格; (3) 附件5的结果:将碎片序号按复原后顺序填入两个11X 19的表格;

数学建模典型例题

一、人体重变化 某人的食量是10467焦/天,最基本新陈代谢要自动消耗其中的5038焦/天。每天的体育运动消耗热量大约是69焦/(千克?天)乘以他的体重(千克)。假设以脂肪形式贮存的热量100% 地有效,而1千克脂肪含热量41868焦。试研究此人体重随时间变化的规律。 一、问题分析 人体重W(t)随时间t变化是由于消耗量和吸收量的差值所引起的,假设人体重随时间的变化是连续变化过程,因此可以通过研究在△t时间内体重W的变化值列出微分方程。 二、模型假设 1、以脂肪形式贮存的热量100%有效 2、当补充能量多于消耗能量时,多余能量以脂肪形式贮存 3、假设体重的变化是一个连续函数 4、初始体重为W0 三、模型建立 假设在△t时间内: 体重的变化量为W(t+△t)-W(t); 身体一天内的热量的剩余为(10467-5038-69*W(t)) 将其乘以△t即为一小段时间内剩下的热量; 转换成微分方程为:d[W(t+△t)-W(t)]=(10467-5038-69*W(t))dt; 四、模型求解 d(5429-69W)/(5429-69W)=-69dt/41686 W(0)=W0 解得: 5429-69W=(5429-69W0)e(-69t/41686) 即: W(t)=5429/69-(5429-69W0)/5429e(-69t/41686) 当t趋于无穷时,w=81; 二、投资策略模型 一、问题重述 一家公司要投资一个车队并尝试着决定保留汽车时间的最佳方案。5年后,它将卖出所有剩余汽车并让一家外围公司提供运输。在策划下一个5年计划时,这家公司评估在年i 的开始买进汽车并在年j的开始卖出汽车,将有净成本a ij(购入价减去折旧加上运营和维修成本)ij

相关文档
最新文档