数学建模作业文档格式.docx
《数学建模作业文档格式.docx》由会员分享,可在线阅读,更多相关《数学建模作业文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
题目6:
1、线性规划的数学模型和算法发展史;
2、什么是多项式时间算法;
3、什么是P,NP,NPC问题;
4、矩阵对策的基本算法;
5、用线性规划方法求解矩阵;
6、给出你完成每个问题的时间.
请查阅线性规划相关知识。
刘仓翼老师(Email:
)
【我的求解】
题目一:
(1)解读题意:
题目涉及背包问题,提供3个容积分别是1000毫升、1500毫升、2000毫升的包,列出了7件必需带的物品体积分别为:
400毫升、300毫升、150毫升、250毫升、450毫升、760毫升、190毫升。
而7件必须带的物品恰好装满1000毫升和2000毫升的背包。
即问题转换为:
一个背包的额问题,其容积为2000毫升,要求在10件可带可不带的物品中做出合理的安排。
(2)建立模型:
设有容积为的
背包,有
个体积分别为
(
=1,2,…,
),价格分别为
的物品可以装入背包,问应该选择那几件物品装入背包,才能得到最大的价值?
解:
令
设装入物品的总价值为
,则上述背包问题的数学模型为:
分别将对应的数值代入上式,得:
(3)求解结果:
利用lingo软件求解,在lingo中输入如下程序:
max100x3+75x6+200x7+90x8+30x10
st
200x1+350x2+500x3+430x4+320x5+120x6+700x7+420x8+250x9+100x10<
=2000
end
intx1
intx2
intx3
intx4
intx5
intx6
intx7
intx8
intx9
intx10
求解结果为:
Globaloptimalsolutionfound.
Objectivevalue:
495.0000
Objectivebound:
Infeasibilities:
0.000000
Extendedsolversteps:
0
Totalsolveriterations:
VariableValueReducedCost
X31.000000-100.0000
X61.000000-75.00000
X71.000000-200.0000
X81.000000-90.00000
X101.000000-30.00000
X10.0000000.000000
X20.0000000.000000
X40.0000000.000000
X50.0000000.000000
X90.0000000.000000
RowSlackorSurplusDualPrice
1495.00001.000000
2160.00000.000000
由计算结果知,物品3、6、7、8、10;
被装入包中,所带物品的价值最高是495元,包剩余空间是160毫升,以上安排为最合理最经济的方案。
题目六:
1.线性规划的数学模型和算法发展史:
法国数学家J.-B.-J.傅里叶和C.瓦莱-普森分别于1832和1911年独立地提出线性规划的想法,但未引起注意。
1939年苏联数学家Л.В.康托罗维奇在《生产组织与计划中的数学方法》一书中提出线性规划问题,也未引起重视。
1947年美国数学家G.B.丹齐克提出线性规划的一般数学模型和求解线性规划问题的通用方法──单纯形法,为这门学科奠定了基础。
1947年美国数学家J.von诺伊曼提出对偶理论,开创了线性规划的许多新的研究领域,扩大了它的应用范围和解题能力。
1951年美国经济学家T.C.库普曼斯把线性规划应用到经济领域,为此与康托罗维奇一起获1975年诺贝尔经济学奖。
50年代后对线性规划进行大量的理论研究,并涌现出一大批新的算法。
例如,1954年C.莱姆基提出对偶单纯形法,1954年S.加斯和T.萨迪等人解决了线性规划的灵敏度分析和参数规划问题,1956年A.塔克提出互补松弛定理,1960年G.B.丹齐克和P.沃尔夫提出分解算法等。
线性规划的研究成果还直接推动了其他数学规划问题包括整数规划、随机规划和非线性规划的算法研究。
由于数字电子计算机的发展,出现了许多线性规划软件,如MPSX,OPHEIE,UMPIRE等,可以很方便地求解几千个变量的线性规划问题。
1979年苏联数学家Л.Г.哈奇扬提出解线性规划问题的椭球算法,并证明它是多项式时间算法。
1984年美国贝尔电话实验室的印度数学家N.卡马卡提出解线性规划问题的新的多项式时间算法。
用这种方法求解线性规划问题在变量个数为5000时只要单纯形法所用时间的1/50。
现已形成线性规划多项式算法理论。
50年代后线性规划的应用范围不断扩大。
2.多项式的时间算法:
假定任意一个奇数O,能够被某一个小于或者等于它的质数j所整除,那么k*O或者O+k*j,仍然能够被j所整除,其中k=1,2,3…。
假设正整数R>
O,那么根据循序渐进的计算步骤,显然可有A=O(O)+O(O+2)+O(O+4)+…+O(P)=O(P^2)。
A=O(P^2),完全能够满足在对任意一个奇数P的因数分解时,对于计算量的要求,所以这是一种多项式时间的算法。
算法在时间上的复杂度,是这种算法是否有效的关键。
即使是这种估算不很精准,究竟应该是A﹤O(P^2),A=O(P^2),还是A=O(P^3)就不太重要了,有待于进一步去深入分析,因为毕竟目前还没有一种通用且有效的多项式时间算法存在。
需要指出的是,在这种计算的时间复杂度上,我们完成的是对于所有小于P的奇数的因数分解。
如果在此基础上,需要再对单个的新奇数P+2进行因数分解,计算量将下降一个等级,变成仅仅是O(P)。
目前可用于因数分解的复杂度最低的算法是量子算法,计算复杂度为O(P^3)的量级,空间复杂度为O(P),但是它还不能被实际应用,常用主流算法的复杂度又只是次指数时间复杂度,而本文给出的算法却声称可以达到O(P^2)的量级。
结论:
从经过计算机验证后得到的不同数值的运算时间,以及两P值运行时间的比值看,该算法属于多项式的时间算法,复杂度为O(P^2)。
3.P,NP,NPC问题
(1)P类问题的概念:
如果一个问题可以找到一个能在多项式的时间里解决它的算法,那么这个问题就属于P问题。
(2)NP类问题的概念:
NP问题不是非P类问题。
NP问题是指可以在多项式的时间里验证一个解的问题。
NP问题的另一个定义是,可以在多项式的时间里猜出一个解的问题。
(3)约化具有一项重要的性质:
约化具有传递性。
如果问题A可约化为问题B,问题B可约化为问题C,则问题A一定可约化为问题C。
一个问题约化为另一个问题,时间复杂度增加了,问题的应用范围也增大了。
通过对某些问题的不断约化,我们能够不断寻找复杂度更高,但应用范围更广的算法来代替复杂度虽然低,但只能用于很小的一类问题的算法。
回想前面讲的P和NP问题,联想起约化的传递性,自然地,我们会想问,如果不断地约化上去,不断找到能“通吃”若干小NP问题的一个稍复杂的大NP问题,那么最后是否有可能找到一个时间复杂度最高,并且能“通吃”所有的NP问题的这样一个超级NP问题?
答案居然是肯定的。
也就是说,存在这样一个NP问题,所有的NP问题都可以约化成它。
换句话说,只要解决了这个问题,那么所有的NP问题都解决了。
这种问题的存在难以置信,并且更加不可思议的是,这种问题不只一个,它有很多个,它是一类问题。
这一类问题就是传说中的NPC问题,也就是NP-完全问题。
4.矩阵对策的基本算法:
(1)2×
2矩阵对策的线性方程组法
所谓2×
2矩阵对策是指局中人Ⅰ的赢得矩阵为2×
2阶的,即
如果此对策有纯策略意义下的解,则很容易求解;
如果没有纯策略意义下的解,则为求出各局中人的最优混合策略可求解下列方程组:
a11x1+a21x2=va11y1+a12y2=v
a12x1+a22x2=va21y1+a22y2=v
y1+y2=1x1+x2=1
当没有纯策略意义下的解时,方程组一定有严格非负解,即为各局中人的最优混合策略。
(2)线性规划法
当对策的值大于0时,可利用线性规划法求解矩阵对策。
构造两个线性规划问题
minz=∑xi
i
∑aijxi≥1(j=1,2,…,n)
i
xi≥0(i=1,2,…,m)
maxw=∑yj
j
∑aijyj≤1(i=1,2,…,m)
j
yj≥0(j=1,2,…,n)
不难验证,这两个线性规划问题互为对偶问题。
当它们取得最优解时必然有相同的目标值。
设上述线性规划问题的解为x、y、z,则矩阵对策的解为:
对策的值VG=1/z
局中人Ⅰ的最优策略
x*=VGx
局中人Ⅱ的最优策略
y*=VGy
5.用线性规划方法求解矩阵
;
解:
求解问题可化成两个互为对偶的线性规划问题
(1)
(2)
加入松弛变量和剩余变量变为标准型,得到新的约束条件,如下:
(1)
(2)
利用单纯形表的方法求解目标函数值最小(或最大)的线性规划问题。
把第i个约束方程移项,就可以用非基变量来表示基变量xi,
其中:
上面假设x1,x2,…xm是基变量,即第i行约束方程的基变量正好是xi,而经过迭代后,基将发生变化,计算zj的式子也会发生变化。
如果迭代后的
第i行约束方程中的基变量为xBi,与xBi相应的目标函数系数为cBi,其中,(cB)是由第1列第m行各约束方程中的基变量相应的目标函数依次组成的有序行向量。
即求得最优解为:
6.完成每个问题的时间:
第1题:
1小时;
第2题:
3小时;
第3题:
1天;
第4题:
第5题:
3小时
第6题:
2分钟
2011年5月4日星期三