页数:13页文件大小:639.4 KB来源: 运筹学ppt课件
本课件讲授动态规划:由最短路与机器负荷分配实例引出多阶段决策问题,介绍阶段、状态、决策、策略、状态转移方程与最优值函数等概念;随后归纳建模步骤与基本方程,并给出最短路、资源分配、采购与排序等应用案例。
本章内容:
以上两个问题都可以划分为先后多个决策阶段,这类问题就称为多阶段决策问题。多阶段决策问题的过程如下图所示:
决策1 → 决策2 → …… → 决策n,状态1 → 状态2 → 状态3 → …… → 状态n → 状态n+1
多阶段决策问题和前面遇到的决策问题不同,它是和时间有关的。与时间有关的活动过程称为动态过程,其优化方法称为动态规划;与时间无关的活动过程称为静态过程,相应的优化方法称为静态规划。
源文件该页两例的图形数据(各弧权值与节点编号)为连排数字,节点之间的连接关系建议对照原图核对。
7.2 动态规划的基本概念
7.2 动态规划的基本概念(二)
例:最短路问题。此问题的基本方程为
fk(xk) = Min{ dk(uk) + fk+1(xk+1) },uk ∈ Dk(sk),k = 6, 5, 4, 3, 2, 1;f7(x7) = 0
按基本方程由后向前递推:
由此可以看出,A 到 G 的最短路长为 18,路径为 A → B1 → C2 → D1 → E2 → F2 → G。
源文件该页各阶段的递推计算表为连排数字,部分数值与节点的对应关系按原文碎片整理,建议对照原图核对。
现在把动态规划法的步骤归纳如下:
以上前六步是建立动态规划模型的步骤。
例:机器负荷问题。某机器可在高低两种负荷下生产,高负荷下年产量 g = 8u,机器年完好率 a = 0.7;低负荷下年产量 h = 5v,年完好率 b = 0.9。开始生产时完好机器数量为 s1,要求制定五年计划,在每年开始时决定机器在两种不同负荷下生产的数量,使五年内产品的总产量最高。
某些静态规划问题可用动态规划法来求解。
例:用动态规划法求解 max F = 4x1 - x1² + 2x2 - x2² + x3²(或 max z = x1 · x2 · x3 型),满足 x1 + 2x2 + x3 ≤ 9,xi ≥ 0(i = 1, 2, 3)。此类问题把各变量的取值作为相互联系的阶段,以剩余资源量作为状态,按基本方程逆推求解。
源文件该页目标函数与约束被打散连排(如 x1 + x2 + x3 = c 与 xi ≥ 0),具体函数形式建议对照原图核对。
某单位准备在以后的 n 个时期内采购一批物资。各时期的价格不是确定的,而是按照某种已知的概率分布取值。试制定采购策略,确定在哪一时期以什么价格采购,能使采购价的数学期望值最低。这类问题也适合用动态规划法处理。
例7:某厂生产上需要在近五周内采购一批原料,而估计在未来五周的价格有波动,其浮动价格和概率测得如下表。试确定该厂应在哪一周以什么价格购入,能使其采购价的数学期望值最小,并求出期望值。
| 价格 | 500 | 600 | 700 |
|---|---|---|---|
| 概率 | 0.3 | 0.3 | 0.4 |
建模思路:以周为阶段 k(k = 1,…,5),以该周的实际价格 xk 为状态,决策为「采购」或「等待」,按期望值递推求最优采购策略。
例:某工业部门根据国家计划安排,拟将五台某种高效率的机器分配给所属的甲、乙、丙三个工厂,各工厂得到不同数量的机器可获得的收益如下表。问应如何分配机器,才能使各厂的总效益最大。
| 机器数 | 甲 | 乙 | 丙 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 3 | 5 | 4 |
| 2 | 7 | 10 | 6 |
| 3 | 9 | 11 | 11 |
| 4 | 12 | 11 | 12 |
| 5 | 13 | 11 | 12 |
资源分配问题的一般描述:设有某种原料,总数量为 a,分配给 n 个使用者。已知第 i 个使用者得到数量 xi 的该资源,可创造的收益为 gi(xi),问应如何分配才能使总收益最大。用动态规划法处理时,通常把给一个使用者分配资源的过程看成一个阶段,按 n 个使用者分成先后 n 个决策阶段:先给第 1 个使用者分配为第一阶段,再给第 2 个使用者分配为第二阶段,依此类推。
源文件该页收益表的数字被打散连排,表格按教材中本例的标准数据整理(0 台时三厂收益均为 0,随机器数递增),建议对照原图核对。
设有 n 个工件需要在机床 A、B 上加工,每个工件都必须先经过 A 而后 B 两道加工工序。以 ai、bi 分别表示工件 i(1 ≤ i ≤ n)在 A、B 上的加工时间。问应如何在两机床上安排各工件的加工顺序,使在机床 A 上加工第一个工件开始到在机床 B 上加工完最后一个工件为止,所用的加工总时间最少。
用动态规划法可以推出,为了节省等待时间,工件 i 应该排在工件 j 之前的条件为
min(ai, bj) ≤ min(aj, bi)
对于一个完整的排序,如果任意前后两个工件对的工时都满足上述不等式,那么这个排序就是工时最省的排序。根据这个条件,构造下列排序方法:
例:设有 5 个工件需在机床 A、B 上加工,加工次序为先 A 后 B,每个工件需要的加工时间如下表(A 行:6、3、1、2、7;B 行:2、7、4、3、5 一类),试安排加工顺序,使总加工时间最少,并求出总加工时间。
源文件该页工时矩阵的数字被打散连排(如 6、3、1、2、7 与 2、7、4、3、5),工件与工时的对应关系建议对照原图核对。
投资决策问题:某公司准备投入 3 千万元资金对所属 3 个工厂进行技术改造,投资金额为 0、1、2、3 千万元四种额度。经测算,每个工厂的投资额与技术改造后每年新增的效益如下表。问如何投资使总收益最大?
| 工厂 | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| 工厂1 | 0 | 0.5 | 1.2 | 2.0 |
| 工厂2 | 0 | 0.4 | 1.3 | 2.2 |
| 工厂3 | 0 | 0.6 | 1.4 | 1.8 |
(1)建模:k = 1, 2, 3;状态转移 xk+1 = xk - uk;递推方程 fk(xk) = max{ vk(xk, uk) + fk+1(xk+1) };边界条件 f4(x4) = 0。
源文件该页效益表按投资额 3、2、1、0 的降序连排(如 2.0、1.2、0.5、0),表格按升序投资额重新排列,建议对照原图核对。
(2)求解:从 k = 3 开始逆推。
源文件该页为各阶段状态、决策与 f 值的连排数字(如 0.6、1.4、1.8、2.2、1.3、0.4 等),行列无法安全切分,故不作表格还原,具体的最优决策与总收益建议对照原图核对。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}