1. 简答题
(1) 运筹学的工作步骤
提出和形成问题:即要弄清问题的目标,可能的约束,问题的可控变量以及相关的参数,搜集相关资料;
建立模型:即把问题中可控变量,参数,目标与约束之间的关系用模型表示出来;
求解:用各种手段将模型求解,解可以是最优解,次优解,满意解。复杂模型的求解需用计算机,解得精度要求可有决策者提出;
解的检验:首先检查求解步骤和程序有无错误,然后检查解是否反映现实问题;
解的控制:通过控制解的变化过程决定对解是否做一定的改变;
解的实施:是指将解用到实际中必须考虑的实际问题,如向实际部门讲清解的用法,在实施中可能产生的问题和修改。
(2) 退化产生原因及解决办法
单纯形法计算中用θ规则确定换出变量时,有时存在两个以上相同的最小比值,这样在下一次迭代中就有一个或几个基变量等于零,这就出现退化解。
勃兰特规则:
1.选取cj-zj>0中下标最小的非基变量xk为换入变量,即k=min(j|cj-zj>0)
2. 当按θ规则计算存在两个和两个以上最小比值时,选取下标最小的基变量为换出变量。
(3)对偶问题的经济解释
• 这说明yi是右端项bi每增加一个单位对目标函数Z的贡献。
• 对偶变量 yi在经济上表示原问题第i种资源的边际价值。
• 对偶变量的值 yi*所表示的第i种资源的边际价值,称为影子价值。
若原问题的价值系数Cj表示单位产值,则yi 称为影子价格;
若原问题的价值系数Cj表示单位利润,则yi 称为影子利润。
影子价格不是资源的实际价格,而是资源配置结构的反映,是在其它数据相对稳定的条件下某种资源增加一个单位导致的目标函数值的增量变化。
(4)分枝定界法步骤
a) 先求出整数规划相应的LP(即不考虑整数限制)的最优解,
b) 若求得的最优解符合整数要求,则是原IP的最优解;
c) 若不满足整数条件,则任选一个不满足整数条件的变量来构造新的约束,在原可行域中剔除部分非整数解。
d) 然后,再在缩小的可行域中求解新构造的线性规划的最优解,这样通过求解一系列线性规划问题,最终得到原整数规划的最优解。
(5)树的性质
一个无圈的连通图称为树。
1 树至少有两个悬挂点。
2 一个图为树的充要条件是:不含圈,边数比点数少1.
3 一个图为树的充要条件是:连通,边数比点数少1.
4 一个图为树的充要条件是:任两点之间恰有一条链。
2. 建模题
(1)线性规划建模:
(2)目标规划建模:
最好等于:min d- -d+
最好不大于:min d+
最好不小于:min d-
目标的重要程度不同,用优先等级因子Pk 来表示第k等级目标。
优先等级因子Pk 是正的常数,Pk >> Pk+1 。
同一优先等级下的目标的相对重要性,赋以不同的加权系数w
(3) 整数规划模型
Max (min) Z = Σcjxj
s.t. Σaijxj £ bi(i=1,2,…m)
xj ³ 0 且部分或全部是整数
3. 证明题
(1)证明可行域为凸集
为了证明满足线性规划问题的约束条件
的所有点(可行解)组成的集合是凸集,只要证明D中任意两点连线上的点必然在D内即可。
设
是D内的任意两点;X(1)≠X(2)。
(2)证明无界解的判定
构造一个新的解 X(1),它的分量为
因 σm+k>0,所以对任意的λ>0都是可行解,把x(1)代入目标函数内得
z=z0+λσm+k ;
因σm+k>0,故当λ→+∞,则z→+∞,故该问题目标函数无界。
(3)证明弱对偶性
4. 计算题
(1) 标准型,单纯行法计算
(2) 对偶型计算
原问题
对偶问题
目标函数 max
min 目标函数
约束条件 ≤
≥
=
≥ 变量
≤
无约束
≥
变量符号 ≤
无约束
≥
≤ 约束条件
=
原问题(LP)
对偶问题
(3) 运输问题
1. 初始解确定
最小元素法:
– 从单位运价表中逐次挑选最小元素,安排运量 min{ai,bj}。
– 然后,划去该元素所在行或列:
• 当产大于销,划去该元素所在列;
• 当产小于销,划去该元素所在行。
伏格尔法:
第一步:求出每行次小运价与最小运价之差,记为ui,i=1,2,…,m ;同时求出每列次小运价与最小运价之差,记为vj,j=1,2,…,n ;
第二步:找出所有行、列差额的最大值,即L=max{ui,vi},差额L对应行或列的最小运价处优先调运;
第三步:这时必有一列或一行调运完毕,在剩下的运价中再求最大差额,进行第二次调运,依次进行下去,直到最后全部调运完毕,就得到一个初始调运方案。
2. 判定最优解
闭合回路法:
从每一空格出发找一条闭回路。它是以某空格为起点,用水平或垂直线向前划,当碰到一数字格时可以转90°后,继续前进,直到回到起始空格为止。当检验数还存在负数时,说明原方案不是最优解。
位势法:
变量的检验数sij=cij–ui–vj=0, 即cij =ui +vj ,且令u1 =0,计算位势量ui和vj
计算非基变量的检验数sij= cij –ui – vj
3. 改进方法
确定进基变量
a) 检查非基变量xij的检验数sij ,按 min{sij| sij <0}= slk 确定xlk进基。
确定离基变量
b) 非基变量xlk进基之后,能让它的运量增加多少呢? 就要求它所在行和列的运量保持产销平衡。 保持产销平衡的方法是闭回路法。
c) 闭回路法:以进基变量xlk所在格为始点和终点,其余顶点均为基变量的封闭回路。
d) 闭回路的画法:从进基变量xlk所在格开始,用水平或垂直线向前划,每碰到一个基变量格转90º,继续前进,直到返回始点。
e) 奇偶点: 始点是偶点,依次奇偶相间标注;偶点标“+” ,表示运量增加量;奇点标“-” ,表示运量减少量。
f) 调整量:最小可减少的运量,即奇点运量的最小值。 奇点运量的最小值所在格的基变量离基。
4. 产销不平衡
产大于销:只要增加一个假想的销地j=n+1(实际上是储存),该销地总需要量为
而在单位运价表中从各产地到假想销地的单位运价为
销大于产:可以在产销平衡表中增加一个假想的产地i=m+1,该地产量为
在单位运价表上令从该假想产地到各销地的运价为
(4) 指派问题
1. 各行各列出现零元素
a. 每行元素减去该行最小元素
b. 每列元素减去该行最小元素
2. 进行试指派,寻求最优解
a. 给只有一个0元素的行(列)的0加圈,然后划去0元素所在行的其他0元素,记作φ
b. 加圈0元素数目等于矩阵的阶数,则指派问题达到最优解
3. 做最少的直线覆盖所有0元素,已确定该系数矩阵中能找到最多的独立元素数
a. 对没有圈的行打√号
b. 对已打√的行所有含φ元素的列打√
c. 在对打有√的列中含圈的元素打√
d. 对没有打√的行及打√的列画一纵线,这就是覆盖所有0元素的最少直线
e.
(5) 最小支撑树
破圈法:任取一圈,去掉权重最大的边,重复进行直到无圈可破。
避圈法:选取权重最小的边,重复进行直到形成部分树,并保证不构成圈。
(6) 最短路径问题
Dijkstra算法:
• S: 已确定最短路的(即具有P标号)的节点集合。
• P:最短路径长度信息;
• T: 目前路径长度信息。
• l: 相关长度的路径信息
(7) 最大流问题
标号过程:
(1)给vs标号(-,+∞),vs成为已标号未检查的点,其余都是未标号点。
(2)取一个已标号未检查的点vi,对一切未标号点vj:若有非饱和弧(vi,vj),则vj标号(vi,l(vj)),其中l(vj)=min[l(vi),cij-fij],vj成为已标号未检查的点;若有非零弧(vj,vi),则vj标号(-vi,l(vj)),其中l(vj)=min[l(vi),fji],vj成为已标号未检查的点。vi成为已标号已检查的点。
(3)重复步骤(2),直到vt成为标号点或所有标号点都检查过。若vt成为标号点,表明得到一条vs到vt的增广链,转入调整过程;若所有标号点都检查过,表明这时的可行流就是最大流,算法结束。
(4) 调整过程:在增广链上,前向弧流量增加l(vt),后向弧流量减少l(vt)。
截集:
给定容量网络D=(V,A,C),若点集V被剖分为两个非空集合V1和V2,使 vs∈V1 ,vt∈V2,则把弧集(V1,V2)称为(分离vs和vt的)截集。
显然,若把某一截集的弧从网络中去掉,则从vs到vt便不存在路。所以,直观上说,截集是从vs到vt的必经之路。截集的容量(简称截量) 最小截集。
(8) 网络计划
工序最早开始时间: 工序最早可能开始时间。
TES(i,j)=TE(i) =max{TE(i)+T(i, j)} 标号的上界
工序最迟结束时间:工序最迟必须结束的时间。
TLF(i,j)=TL(j) =min{TL(j)-T(i, j)} 标号的下界
工序最早结束时间:工序最早可能结束的时间。
TEF(i,j)=TES(i,j)+T(i,j) 标号上界+持续时间
工序最迟开始时间:工序最迟必须开始的时间。
TLS(i,j)=TLF(j)-T(i,j) 标号下界-持续时间
• 工序总时差:
• TE(i,j)= TLF(i,j)-TEF(i,j)= TLS(i,j)-TES(i,j)
TE(i,j)=0,则为关键工序
• 工序自由时差:
FF(i,j)= ES(j,k)-EF(i,j) 标号上界+持续时间-标号下界(紧后)
紧后工序最早开始时间-工序最早完成时间