运筹学:第 2 次作业
建立旅行商问题的整数规划模型,并用 0-1 变量和 Big-M 约束求解带前序关系的双工作站调度。
本页目录3 节
Homework 2 #
Question 1: #
有一推销员, 从城市 出发, 要依次访问城市 各一次, 最后返回到 . 已知从 到 的旅费为 , 对于任意的 和 , 问他应按怎样的次序访问这些城市, 使得总旅费最小?
答案
定义变量
那么我们的目标函数就是 .
接着考虑约束条件, 由于要用一条路径覆盖, 所以每个点只会有一个入边即 . 也只会有一条出边 .
还需排除不经过仓库 的子环。引入顺序变量 (),并对非仓库节点加入 MTZ 约束。若这些节点中存在大小为 的子环,将环上对应不等式相加后,顺序变量相互抵消,得到 ,矛盾。因此该约束能够排除子环。
当解只包含一条经过全部城市的回路时,可令 表示城市 在访问序列中的位置。完整模型为
Question 2: #
需要将 11 件加工任务 (A-K) 分配到两个工作站, 任务需要依次经过工作站 1, 2 以完成加 工. 任务间的依赖关系如下图 (后续节点任务的启动需要前序任务完成), 每件任务在工作 站所花费的时间如下表:

每件任务在两个工作站上所需时间如下表 (单位: 小时):
| 任务 | A | B | C | D | E | F | G | H | I | J | K |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 工作站 1(小时) | 25 | 5 | 5 | 35 | 10 | 7 | 8 | 7 | 2 | 4 | 7 |
| 工作站 2(小时) | 20 | 6 | 4 | 15 | 5 | 5 | 4 | 5 | 10 | 4 | 2 |
题意说明: 当前题面“依次经过工作站 1、2”与下文采用的“每项任务在两站中择一分配”并不一致。以下保留原解答采用的后一种模型,待核对完整题面后再定稿。
设计装配任务分配方案, 目标是为工作站分配加工任务, 尽可能使总装配时间最短.
答案
将 对应到 .
题目中的符号表示 表示第 个任务在 工作站上的耗时, 具体值见上表.
表示任务 的直接前序依赖任务集合, 例如 .
为充分大的常数.
决策变量:
: 表示任务 是否分配给工作站 , 表示是, 表示否 ().
表示任务 的开工时间 ().
表示任务 是否在任务 之前完成 ().
为了方便, 先推导每个任务的结束时间记作 用 控制在哪个工作站上.
目标函数:
.
约束条件:
第一类是依赖关系, 即对于每个任务 , 要求 .
第二类是单个工作站上任务不重叠, 那么考虑先限定 .
然后当 时要求根据 的取值判断 的先后顺序.
可以构建下面的条件
不难验证, 当 时, 上述两个限制肯定成立. 而当 时, 上述限制具有约束力, 仅当 , 即 . 此时要求 在 之前完成, 即 . 满足定义.
所以只需对 上述两条约束成立即可满足在单个工作站上不重叠.
综上, 汇总可得总的运筹模型可建立为
下面是一组我得到的最优解, 并且分类讨论 A 一开始在 1,还是 2 可以证明该方案已经达到下界.
先简要证明.
如果 A 在工作站 1, 那么只考虑 A,B,C,F,G,J,K 这些任务, A 25h, B 最早 30h, C 最早 34h, F,G 最早 41h (F1G2), 再 J,K 依次完成最早要 47h.
如果 A 在工作站 2, 那么 D 最早在 35h 完成, E 最早 40h, H,I 最早 45h, 再 J,K 依次完成最早要 51h.
注意上述两种假设都忽略了部分任务以考虑最优, 所以实际必定不低于上述考虑, 所以总时间至少为 47h.
下面给出恰好为 47h 的方案.
在工作站 1 上依次完成 A,B,I,F.
在工作站 2 上依次完成 D,E,H,C,G,J,K.
几个重要的时间点,
工作站 1 完成 A, 工作站 2 完成 D,E,H.
工作站 1 完成 B, 工作站 2 等待.
工作站 1 完成 I,随后空闲等待;工作站 2 在 完成 C。
工作站 1 完成 F, 工作站 2 完成 G.
接下来 6h 依次完成 J,K. 在 47h 时完成所有任务. 达到理论下界. 所以已经是最优解.
讨论
评论
正在加载评论…