离散变量优化问题.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若 Lk 的最优值 Zk Zi 0,剪枝
若 Lk 的最优值 Zk Zi 0;
(1)最优解X *k 是整数解
将下界改为 Z k , 关闭Lk
(2)最优解 X *k 不是整数解
继续对Lk 分枝
当所有的子问题均被关闭或剪枝后
目标函数值最大的整数解既为所求的最优解
例:用分枝定界法求解整型优化问题(用图解法计算):
离散变量优化方法
离散变量优化难点:不存在指导搜索过程的最优性条件。
直接方法:枚举法(enumeration)。可行点过多时,计算量大。 减少计算量:随机思想(stochastic ideas)、启发式原则(heuristic rules)。
两种基本方法:
(隐式)枚举法:如,分枝定界法(the branch and bound algorithm); 随机或进化方法:如,模拟退火算法、遗传算法等。
分枝定界法就是将B的可行域分成子区域(称为分枝)的方法, 逐步减小 z ,增大 z ,最终求到 z * 。
z z* z
三个基本操作:
(1)分枝
在松弛问题B的最优解中任选一个不符合整数条件的变量 x j ,其 值为 bj ,以 [b j ] 表示小于 bj 的最大整数。构造两个约束条件
x j [bj ]
max Z x1 5 x2 x1 x2 2 5 x 6 x 30 1 2 s.t. 4 x1 x1 , x2 0且全为整数
首先去掉整数约束,变为一般线性优化问题(松弛问题),记为 LP: max Z x1 5 x2
x1 x2 2 5 x 6 x 30 1 2 s.t. 4 x1 x1 , x2 0
传统方法的局限性
求离散问题的最优解,传统的方法是先用连续变量优化 设计方法求连续变量的最优解,然后圆整到离散值上。 弊病:可能得不到可行最优解,或所得的解不是离散最 优解。 x *为连续变量最优解;
x(1)是圆整后最近的离散点,但不可 行;
x(2)是最近的可行离散点,但不是离 散最优点; x(3)是离散最优点。
离散变量问题优化算法 (Algorithms for Discrete Variable Problem)
§9.1 引言
一般的优化方法只能求得连续变量的最优解。 工程实际中存在大量混合设计变量问题。 混合设计变量包含:连续设计变量、整型设计变量和离散设 计变量。
例如:齿轮传动装置的优化设计, 齿数是一个整型量,模数是一系列 离散量,变位系数可以看做连续量, 齿宽若按长度1mm单位计算,则也可 以看做整型量。
求出松弛问题最优解:
max Z x1 5 x2 x1 x2 2 5 x 6 x 30 1 2 s.t. 4 x1 x1 , x2 0
x* (x1 , x 2 ) (18 / 11, 40 / 11) Z (0) 218 / 11 19.8

x j [bj ] 1
将这两个约束条件,分别加入问题B,求两个后继规划问题B1和B2, 不考虑整数条件求解这两个后继问题.
(2)定界
以每个后继问题为一分枝标明求解结果,在解的结果中,找出最优 目标函数值最大者作为新的上界.从已符合整数条件的各分支中, 找出目标函数值为最大者作为新的下界,若无,则下界为0.
松弛问题:
max Z x1 5 x2 x1 Baidu Nhomakorabea x2 2 5 x 6 x 30 1 2 s.t. 4 x1 x1 , x2 0
分枝定界法基本思想:
设有最大化的整型优化问题A,相应有松弛问题B,从解松弛问题 B开始,若其最优解不符合A的整数条件,那么B的最优目标函数 必是A的最优目标函数 z * 的上界,记作 z ;而A的任意可行解 的目标函数值将是 z * 的一个下界,记作 z 。
子问题 L1 : 剪枝 1 、L1无最优解, 2、最优解 X *1 ( x *11 ,x *12 ,, x *1n ), 最优值 z1 (1) X *1 为整数解 , z1为下界 关闭
子问题 L2 :
(2) X *1 中至少有一个是分数: 继续分枝
设已找到下界 Zi0 :
讨论子问题 Lk :
§9.3 分枝定界法(the branch and bound algorithm)
引入概念:松弛问题。 以整型优化问题为例: max Z x1 5 x2
x1 x2 2 5 x 6 x 30 1 2 s.t. 4 x1 x1 , x2 0且全为整数
max Z x1 5 x2 x1 x2 5 x 6 x 1 2 ( IP 2) x1 x1 2 30 4 2
(3)比较与剪枝
各分支的最优目标函数中若有小于 z ,则剪掉这枝;若大于 z 且不符合整数条件,则重复前两步,直到找到最优解。
分枝定界法计算过程:
上界
讨论松弛问题 L0 : ( IP)无最优解 结束 1 、L0无最优解, 则 2、最优解 X *0 ( x *01 ,x *02 ,, x *on ),最优值z0 (1) X *0 为整数解 ,则X *0 为 ( IP)的最优解 结束 (2) X *0 中至少有一个是分数, 设x *01 是分数 :分枝
(0) 即 Z 也是离散问题目标函数的上限。
松弛问题最优解:
x* (x1 , x 2 ) (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
先将(LP)划分为(LP1)和(LP2), 取 x1 1, x1 2 。
将(LP)划分为(LP1)和(LP2),取 x1 1, x1 2 。
max Z x1 5 x2 x1 x2 5 x 6 x 1 2 ( IP1) x1 x1 2 30 4 1
相关文档
最新文档