最优化方法Word下载.docx
《最优化方法Word下载.docx》由会员分享,可在线阅读,更多相关《最优化方法Word下载.docx(41页珍藏版)》请在冰豆网上搜索。
用x1,x2分别表示甲、乙两种产品生产的件数,该厂追求的目标是获取最高利润,用数学表达式表示为:
maxf=60x1+30x2.
由于生产甲、乙产品的件数要受到生产能力的约束,即
黄铜约束2x1+4x2≤320,
工日约束3x1+x2≤180,
外协件约束2x1≤100,
非负约束x1,x2≥0.
这样,该厂生产计划问题就归结为如下数学模型
maxf=60x1+30x2,
2x1+4x2≤320,
3x1+x2≤180,
2x1≤100,
x1,x2≥0.
例2(运输问题)计划由三个粮站A1,A2,A3运输某种粮食至三个加工厂B1,B2,B3,三个粮站的供应量和三个加工厂的需求量以及各供应地至需求地的单位运输价(元/吨)如表3-1所示,试作出运费最省的调运计划方案.
表3-1
加工厂
粮站
B1B2B3
供应量(吨)
A1
A2
A3
1208090
704030
605020
20
30
50
需求量(吨)
255025
100
现在的问题:
如何调运,才能使运费最省?
设xij表示第i个粮站运到第j个加工厂的粮食数量(单位:
吨,i,j=1,2,3),则总运费
f=120x11+80x12+90x13+70x21+40x22+30x23+60x31+50x32+20x33.
从各粮站运出的粮食数量不能超过供应量
x11+x12+x13=20,x21+x22+x23=30,x31+x32+x33=50,
同时还要保证各加工厂的需要
x11+x21+x31=25,x12+x22+x32=50,x13+x23+x33=25,
而运输量应满足xij≥0.
于是上述运输问题的数学模型为
minf=120x11+80x12+90x13+70x21+40x22+30x23+60x31+50x32+20x33,
x11+x12+x13=20,
x21+x22+x23=30,
x31+x32+x33=50,
x11+x21+x31=25,
x12+x22+x32=50,
x13+x23+x33=25,
xij≥0.
从上述两个例子可以看出,虽然两个问题的具体内容和性质不同,但它们都属于优化问题,它们的数学模型都有相同的数学形式,即在一定的线性等式或不等式的条件下,使某一线性函数达到最大(或最小).
所谓线性规划问题的数学模型是将实际问题转化为一组线性不等式或等式约束下求线性目标函数的最小(大)值问题,它都可以化为如下标准形式:
(LP)minf=c1x1+c2x2+…+cnxn,
a11x1+a12x2+…+a1nxn=b1,
a21x1+a22x2+…+a2nxn=b2,
………
am1x1+am2x2+…+amnxn=bm,
x1,x2,…,xn≥0.
记c=(c1,c2,…,cn),A=(aij)m×
n,x=(x1,x2,…,xn)T,b=(b1,b2,…,bm)T,可将(LP)写成矩阵形式:
(LP)
其中x≥0意指x中的每一个分量xj≥0.
再记A=(a1,a2,…,an),并且假设A的秩为m.我们把A中任意m个线性无关列向量组成矩阵B称为线性规划问题(LP)基矩阵,简称基;
对应变量称为基变量,其它变量称为非基变量.
由于线性无关,因此B=()可逆,用B1左乘Ax=b的两边得
B1Ax=B1b3-1
记B1A=(pij)m×
n=(p1,p2,…,pn),B1b=(1,2,…,m)T,不难看出都是基本单位向量,即()=I.
用D表示非基变量下标的集合,即D={1,2,…,n}{j1,j2,…,jm},由3-1式得到用非基变量表示基变量如下:
3-2
记cB=(),用cB左乘3-1式的两边得
cBB1Ax=cBB1b3-3
由f=cx和3-3式得
f=cBB1b(cBB1Ac)x3-4
再记=cBB1b,cBB1Ac=(1,2,…,n),由3-4式得到用非基变量表示的目标函数:
f=3-5
3-5式和3-2式合称为(LP)对应于基B的典式.
由3-2式知,当所有的非基变量xj=0(j∈D)时,基变量=i(i=1,2,…,m)是Ax=b的解,此解称为(LP)的基解.1,2,…,m通常称为基变量值.
当某个基解为可行解,即所有的基变量值非负时,此基解称为基可行解,相应的基B称为可行基.
假设B为可行基,由3-5式和3-2式可得如下两个最优判别准则:
最优判别准则Ⅰ当所有的检验数1,2,…,n≤0时,f=为(LP)的最优值.此时的基B称为最优基,相应的基可行解称为基最优解.
最优判别准则Ⅱ若有某个检验数s>0,且ps≤0,则(LP)无最优解.
读者可以自行证明最优判别准则Ⅰ和Ⅱ.
3.1.2单纯形解法
设B是(LP)的一个基,其典式的矩阵表现形式是
上述矩阵称为对应于基B的单纯形表,记作T(B),它通常写成如下形式(表3-2):
表3-2
x1x2…xn
f
12…n
…
1
2
m
p11p12…p1n
p21p22…p2n
pm1pm2…pmn
如果prs≠0(s∈D),那么利用初等行变换可将T(B)的第r行(prs所在的行)除以prs,然后将第0行(目标函数行)减去第r行的s倍,再将第i行减去第r行的pis倍,即使prs所在的列中其它各项都变为0.这种变换相当于将其典式的第r式中的非基变量xs解出,再代入其它各式得到一个新基对应的典式,称这种变换为换基迭代,称prs为轴心项,xs为进基变量,为离基变量.
下面给出(LP)已有一个可行基B的单纯性解法迭代步骤
①计算T(B),转向②.
②根据最优判别准则,若B是最优基或(LP)无最优解,停;
否则转向③.
③寻找轴心项,假设正检验数中下标最小的是s,则取满足
r/prs=min{i/pis|pis>
0,1≤i≤m}
的prs为轴心项,转向④.
④以prs为轴心项换基迭代,得新基B1,用B1代替B,转向①.
1976年,Bland证明了在已有一个可行基的单纯性解法中,按照③选取轴心项换基迭代,迭代次数是有限的.
读者也可以自行证明每次迭代后得到的新基是可行基,且目标函数值是递减的.
例3用单纯形法解本节例1中的线性规划问题.
解原模型为:
maxf=60x1+30x2,
引入松弛变量x3,x4,x5,化原问题为标准形式
ming=maxf=60x130x2,
2x1+4x2+x3=320,
3x1+x2+x4=180,
2x1+x5=100,
x1,x2,x3,x4,x5≥0.
在约束条件中,变量x1,x2,x3,x4,x5对应的列向量为
a1=(2,3,2)T,a2=(4,1,0)T,a3=(1,0,0)T,a4=(0,1,0)T,a5=(0,0,1)T.
令B0=(a3,a4,a5),则B0为单位矩阵,是一个现成可行基,对应的单纯形表为表3-3.
表3-3
x1x2x3x4x5
g
6030000
x3
x4
x5
320
180
24100
31010
30001
由于检验系数中1=60,2=30皆为正数,且p1,p2中有正分量.选取左边第一个检验数1=60对应的变量x1为进基变量.由min{320/2,180/3,100/2}=100/2,知x5为离基变量,以p31为轴心项(表3-3中带下划线项)换基迭代得新基B1=(a3,a4,a1)对应的单纯形表(表3-4).
表3-4
x1x2x3x4x5
3000
0300030
x1
220
04101
01013/2
10001/2
检验系数中2=30为正数,且p2中有正分量,故x2为进基变量.因min{220/4,30/1}=30/1,故x4为离基变量,以p22为轴心项换基迭代得新基B2=(a3,a2,a1)对应的单纯形表(表3-5).
表3-5
x1x2x3x4x5
3900
0003015
x2
00145
01