离散变量优化问题ppt课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5
x1 x1
6 x2
30 4
x1, x2 0
5
分枝定界法基本思想: 设有最大化的整型优化问题A,相应有松弛问题B,从解松弛问题 B开始,若其最优解不符合A的整数条件,那么B的最优目标函数
必是A的最优目标函数 z * 的上界,记作 z ;而A的任意可行解
的目标函数值将是 z * 的一个下界,记作 z 。
当所有的子问题均被关闭或剪枝后 目标函数值最大的整数解既为所求的最优解
10
例:用分枝定界法求解整型优化问题(用图解法计算):
max Z x1 5x2
x1 x2 2
s.t.
5
x1 x1
6
x2
30 4
x1, x2 0且全为整数
首先去掉整数约束,变为一般线性优化问题(松弛问题),记为
LP:
先将(LP)划分为(LP1)和(LP2), 取 x1 1, x1 2。
14
将(LP)划分为(LP1)和(LP2),取 x1 1, x1 2 。
max Z x1 5x2
x1 x2 2
(
IP1)
5
x1 x1
6
x2
30 4
x1
1
max Z x1 5x2
x1 x2 2
(IP2)
子问题L1 : 1、L1无最优解,剪枝 2、最优解X *1 (x *11 ,x *12 , , x *1n ),
最优值z1
(1) X *1 为整数解 , z1为下界 关闭
(2) X *1 中至少有一个是分数: 继续分枝
子问题L2 :
9
设已找到下界Zi0:
讨论子问题Lk : 若 Lk 的最优值 Zk Zi0,剪枝 若 Lk 的最优值 Zk Zi0; (1)最优解X *k 是整数解 将下界改为 Z k ,关闭Lk (2)最优解X *k 不是整数解 继续对Lk 分枝
分枝定界法就是将B的可行域分成子区域(称为分枝)的方法,
逐步减小 z ,增大 z ,最终求到 z *。
z z* z
6
三个基本操作: (1)分枝
在松弛问题B的最优解中任选一个不符合整数条件的变量 x j ,其
值为 b j ,以 [bj ] 表示小于 b j 的最大整数。构造两个约束条件
x j [bj ] 和 x j [bj ] 1 将这两个约束条件,分别加入问题B,求两个后继规划问题B1和B2, 不考虑整数条件求解这两个后继问题.
7
(2)定界 以每个后继问题为一分枝标明求解结果,在解的结果中,找出最优 目标函数值最大者作为新的上界.从已符合整数条件的各分支中, 找出目标函数值为最大者作为新的下界,若无,则下界为0.
(3)比较与剪枝
各分支的最优目标函数中若有小于 z ,则剪掉这枝;若大于 z
且不符合整数条件,则重复前两步,直到找到最优解。
4
§9.3 分枝定界法(the branch and bound algorithm)
引入概念:松弛问题。
以整型优化问题为例:
松弛问题:
max Z x1 5x2
x1 x2 2
s.t.
5x1
x1
6
x2
30 4
x1, x2 0且全为整数
max Z x1 5x2
x1 x2 2
s.t.
3
离散变量优化方法
离散变量优化难点:不存在指导搜索过程的最优性条件。 直接方法:枚举法(enumeration)。可行点过多时,计算量大。 减少计算量:随机思想(stochastic ideas)、启发式原则(heuristic rules)。 两种基本方法: (隐式)枚举法:如,分枝定界法(the branch and bound algorithm); 随机或进化方法:如,模拟退火算法、遗传算法等。
离散变量问题优化算法 (Algorithms for Discrete Variable Problem)
1
§9.1 引言
一般的优化方法只能求得连续变量的最优解。 工程实际中存在大量混合设计变量问题。 混合设计变量包含:连续设计变量、整型设计变量和离散设 计变量。 例如:齿轮传动装置的优化设计, 齿数是一个整型量,模数是一系列 离散量,变位系数可以看做连续量, 齿宽若按长度1mm单位计算,则也可 以看做整型量。
8
分枝定界法计算过程:
上界
讨论松弛问题L0 : 1、L0无最优解,则(IP)无最优解 结束
2、最优解X *0 (x *01 ,x *02 , , x *on ), 最优值z0
(1) X *0 为整数解 ,则X *0 为(IP)的最优解 结束
(2) X *0 中至少有一个是分数, 设x *01 是分数 :分枝
Z (0) 218 / 11 19.8
即 Z(0)也是离散问题目标函数的上限。
12
13
松弛问题最优解: x* (x1, x2 ) (18 / 11, 40 / 11)
Z (0) 218 / 11 19.8
对于x1=18 / 11 1.64, 取值x1 1,x1 2 对于x2 40 / 11 3.64, 取值x2 3,x2 4
2
传统方法的局限性
求离散问题的最优解,传统的方法是先用连续变量优化 设计方法求连续变量的最优解,然后圆整到离散值上。
弊病:可能得不到可行最优解,或所得的解不是离散最 优解。
x *为连续变量最优解;
x(1)是圆整后最近的离散点,但不可 行;
x(2)是最近的可行离散点,但不是离 散最优点;
x(3)是离散最优点。
(IP1)
5
x1 x1
6 x2
30 4
x1
1
此时B在点取得最优解。 x1=1, x2 3, Z 1=16
18
19
求(LP2),如图所示。
5
x1 x1
6
x2
30 4
x1
2
现在只要求出(LP1)和(LP2)的最优解即可。
15
16
先求(LP1),如图所示。
max Z x1 5x2
x1 x2 2
(IP1)
5
x1 x1
6 x2
30 4
x1
1
17
先求(LP1),如图所示。
max Z x1 5x2
x1 x2 2
max Z x1 5x2
x1 x2 2
s.t.
5
x1 x1
6 x2
30 4
x1, x2 0
Leabharlann Baidu11
求出松弛问题最优解:
max Z x1 5x2
x1 x2 2
s.t.
5
x1 x1
6 x2
30 4
x1, x2 0
x* (x1, x2 ) (18 / 11, 40 / 11)
相关文档
最新文档