iSIGHT优化技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
该方法主要解决约束优化问题,编程简单,已经在很多实际工程设计问题中得到了应用。 该方法有如下一些特点:
l 容易规划并且可应用于许多实际工程设计问题中; l 在选择移动界限和这些界限中的缩减因子以有效地获得最优值方面较为困难。 以下是执行连续线性规划的步骤: 1. 使目标和约束函数线性化:
F (x) ≅ F (x0 ) + ∇F (x0 ) * dx
( γ p → ∞ )时,无约束优化问题的最优解趋向一个极限点,这个极限点就是原问题的最优
解。 外点罚函数法主要有如下特性: l 广泛地用于约束优化问题; l 容易编程,使用无约束优化来解决问题; l 可信赖,如果相对最小值存在,相对容易找到真正的最优值;
l 能从不可行区域内逼近最优值,在从罚函数参数γ p 到 ∞ 的极限下是可行的。
有关上述表达方式的几点说明:
l 所有问题在 iSGHT 内部都被转换成一个加权的最小化问题。目标包含有很多 iSIGHT
参数,目标根据重要程度都有相应的权重因子和规模因子。如果一个目标是最大化,
那么就在它的权重因子前加负号。
l 如果你的优化技术是一个基于罚函数的技术,那么最小化问题就象上面所述,只需
其中,J 是起作用和冲突的约束的集合
Φ 是一个大的正数 Θ j 是约束的一个偏离因子 对于起作用的约束 Θ j = 0 对于冲突的约束 Θ j > 0
起作用和冲突的约束如下确定:
如果 CT ≤ g j (x) ≤ CTMIN , g j (x) 是起作用的 如果 g j (x) > CTMIN , g j (x) 冲突
24
图 1 起作用和冲突约束识别
3.连续线性规划 (Sequential Linear Programming) 连续线性规划法首先将目标函数和约束条件在起始设计点 X 0 处以一阶泰勒级数展开,
将原问题转化为线性规划问题。这样就可以用线性规划中的算法进行求解,得到下一次的设
计点 X i 。一般说来,这个新的设计点 X i 比起始设计点 X 0 更接近原问题的最优点。在下一
三、 数值型优化技术
下面对每种优化技术进行一下介绍。
1.外点罚函数法(Exterior Penalty)
外点罚函数法广泛的用于含有约束条件的优化问题。在处理含有约束条件的优化问题 时,借助惩罚函数把约束问题转化为无约束的问题,进而用无约束的最优化方法求解。实现 这一目标的途径是由目标函数和约束函数组成辅助函数来完成的。如果该问题存在最优解, 其优化结果通常是可信的,并且相对来说更容易找到真正的最优解。当惩罚因子趋向∞
g j (x) ≅ g j (x0 ) + ∇g j (x0 ) * dx; j ∈ J
dx = x − x0
2. 通过线性规划方法或其他优化器来解决这个线性逼近问题。 3. 重新线性化,转换逼近上的移动界限,并且重复到收敛点。 4. 移动线性逼近上的界限。
25
图2 连续线性规划
4.广义既约梯度法(LSGRG2)
Φ(x) = F(x) + P(x)
转换出的无约束问题就是使 Φ(x) 最小化或最大化。
对于罚函数法的效率和鲁棒性和直接法比较的研究显示,直接法更加健壮,只需要很少 的函数评估。而当你使用一个罚函数法的时候,函数评估的次数会成倍增加。
罚函数法包括: l 外点罚函数法(Exterior Penalty) l Hooke-Jeeves直接搜索法(Hooke-Jeeves Direct Search Method)
外点罚函数法的公式表达如下:
2.修正可行方向法(Modified Method of Feasible Directions)
修正可行方向法是直接数值优化技术中的一种,主要用来解决约束优化问题。该方法可 以快速地获得最优解。约束可以是等式的,也可以是不等式的,并且获得最优解时可以以很 高的精度满足约束条件。该方法有如下特点:
l 广义既约梯度法(Generalized Reduced Gradient - LSGRG2) l Hooke-Jeeves直接搜索法(Hooke-Jeeves Direct Search Method) l 可行方向法– CONMIN(Method of Feasible Directions – CONMIN) l 混合整型优化– MOST(Mixed Integer Optimization – MOST) l 连续二次规划法– DONLP(Sequential Quadratic Programming– DONLP) l 连续二次规划法– NLPQL(Sequential Quadratic Programming – NLPQL) l 逐次逼近法(Successive Approximation Method) 数值型搜索技术又可以分成如下两类: (1)直接法(Direct methods) 直接法在搜索过程中直接处理约束。 直接法包括: l 广义梯度下降法(Generalized Reduced Gradient - LSGRG2) l 可行方向法– CONMIN(Method of Feasible Directions – CONMIN) l 混合整型优化– MOST(Mixed Integer Optimization – MOST) l 修正可行方向法(Modified Method of Feasible Directions-ADS) l 连续线性规划 (Sequential Linear Programming- ADS) l 连续二次规划法– DONLP(Sequential Quadratic Programming – DONLP) l 连续二次规划法– NLPQL(Sequential Quadratic Programming – NLPQL) l 连续逼近法(Successive Approximation Method) (2)罚函数法(Penalty methods) 罚函数方法和直接法不同,他们并不直接处理约束。罚函数法通过给目标函数增加一 个惩罚项将约束问题转换成无约束问题进行处理:
22
2.探索型优化技术
探索型优化技术避免了集中在局部区域的搜索,这些技术遍历整个参数空间搜索全局最 设计优点。iSIGHT中这种技术有:
l 遗传算法(Genetic Algorithm) l 批处理遗传算法(Genetic Algorithm with Bulk Evaluation) l 模拟退火算法(Simulated Annealing) 3.专家系统技术 专家系统技术使优化沿着用户定义的方向进行改变,改变哪一项,怎么改变,什么时候 改变,这些都由用户自己定义。iSIGHT 中这样的技术为有指导启发式搜索方法(Directed Heuristic Search-DHS)。如果用户知道输入怎样影响输出结果的话,这种方法效率很高。
在后面加上惩罚项即可。
l 所有的等式约束 h(x)都有一个范围,± DeltaForEqualityConstra intViolation ,
在这个范围内约束不认为是冲突的。默认的范围是±0.00001。每个约束也有权重 因子和规模因子。 l 所有不等式约束 g(x)都认为是非线性的。如果一个输出参数有上下边界,那么 iSIGHT 就会自动转换成两个不等式约束。每个约束也有权重因子和规模因子。 l iSIGHT 设计变量 X,可以是实数、整数或离散变量。如果 X 是实数和整数变量,那 么 X 值必须满足上下边界条件,如果没有边界条件,默认值是 1E15。这个默认值 也可以通过参数对话框进行修改。 l iSIGHT 按照每个设计变量都有上下边界来进行计算,如果变量是离散的,iSIGHT 需要设计变量的值在给定的约束集合内,ISIGHT 内部默认的上边界是 n-1,下边 界是 0,其中 n 为系统允许值,这个值可以通过 API 函数进行修改。
二、 优化技术的分类
21
本部分对 iSIGHT 中每种优化技术进行简要的介绍。 iSIGHT 中的优化技术分为三类: l 数值型优化技术(Numerical Optimization Techniques) l 探索型优化技术(Exploratory Techniques) l 专家系统技术(Expert System Techniques) 这些优化技术如下所示:
Isight 优化技术(Optimization)
一、 iSIGHT 对优化问题的表达
不同的优化软件对优化问题的表达方式是不一样的,iSIGHT 对优化问题表述如下:
目标: 满足
∑ Minimize i
Wi SFi
×
Fi ( X )
等式约束:
(hk
(
X
)
−
T
arg
et)
×
Wk SFk
= 0 ;k=1,…,K
这种技术使用广义既约梯度法解决约束非线性优化问题。既约梯度法是目前求解非线性 优化问题的最有效的方法之一。这种方法使用一种搜索方向,在这个方向上对于一些小偏移 所有约束都仍然起作用。同时这种方法通过消去某些变量在降维空间中的运算,能够较快的 确定最优解,可用来求解大型的问题。
广义既约梯度法有如下特性: l 适合于非线性的设计空间; l 不适合不连续的设计空间; l 在初始设计点周围遍寻局部空间; l 依照起作用的约束来优化设计; l 直接处理不等和等式约束。 LSGRG2 用一般既约梯度算法来解决约束非线性优化问题。算法用一条使得活动约束仍 在小偏移上起作用的搜索路径。广义既约梯度方法是对原始的既约梯度法的扩展。这个扩展 包括在每一个不等约束上加上一个松弛变量:
不等式约束:
Wj SF j
× (LB
−
g
j ( X ))
≤
0
Wj SF j
× (g
j(X)
− UB)
≤
0 ;j=1,…,L
设计变量: 对于整型和实型数 LB ≤ iSIGHTInputParameter ≤ UB
SF
SF
SF
对于离散型参数是输入参数集合 S
其中,SF——规模因子,默认值为 1.0;
W——权重因子,默认值为 1.0;
最小化 ∇F (x q−1 ) × S q 满足: ∇g j (x q−1 ) × S q ≤ 0; j ∈ J
Sq ×Sq ≤1
(3)如果一个或多个约束冲突,使用修正可行方向法:
最小化 ∇F (x q−1 ) × S q − Φβ 满足: ∇g j (x q−1 ) × S q + Θ j β ≤ 0; j ∈ J Sq ×Sq ≤1
l 能快速得到一个优化设计; l 能处理不等式和等式约束; l 在优化中能十分准确地满足约束。 下面是修正可行方向法的解决问题步骤:
1. q = 0, x = x0
2. q = q + 1
23
3. 求 F (x百度文库 和 g j (x) 的值; j = 1,2,...., M
4. 确定临界的约束集,J
次的迭代中将原问题在 X i 处以一阶泰勒级数展开。如此反复,以线性规划问题去近似非线
性规划问题,希望每次迭代得到的新的设计点都比前一个设计点更接近原问题的最优点。而 在新的设计点上的近似子问题,也愈来愈接近原非线性问题最优点的附近区域。最终线性规 划问题的最优点可以以很高的精度接近原问题的最优点。
1.数值型优化技术
数值型优化技术通常假定参数空间是单峰的、凸的和连续的,该软件中使用了如下的数 值型优化技术:
l ADS (Automated Design Synthesis)-based Techniques l 外点罚函数法(Exterior Penalty) l 修正可行方向法(Modified Method of Feasible Directions) l 连续线性规划 (Sequential Linear Programming)
5. 计算 ∇F (x) 和 ∇g j (x) , j ∈ J 6. 确定可用和可行的搜索方向, S q 7. 进行一维搜索寻找 a * 8. 令 x q = x q−1 + a *×S q
9. 检查收敛性;如果不收敛转到第 2 步 修正可行性方向法技术用以下几种方法之一来寻找每一次迭代的搜索方向: (1)如果没有约束起作用或冲突,那么使用无约束方法中的变梯度法。 (2)如果有任何约束起作用并且没有约束冲突,使用修正可行性方向法:
l 容易规划并且可应用于许多实际工程设计问题中; l 在选择移动界限和这些界限中的缩减因子以有效地获得最优值方面较为困难。 以下是执行连续线性规划的步骤: 1. 使目标和约束函数线性化:
F (x) ≅ F (x0 ) + ∇F (x0 ) * dx
( γ p → ∞ )时,无约束优化问题的最优解趋向一个极限点,这个极限点就是原问题的最优
解。 外点罚函数法主要有如下特性: l 广泛地用于约束优化问题; l 容易编程,使用无约束优化来解决问题; l 可信赖,如果相对最小值存在,相对容易找到真正的最优值;
l 能从不可行区域内逼近最优值,在从罚函数参数γ p 到 ∞ 的极限下是可行的。
有关上述表达方式的几点说明:
l 所有问题在 iSGHT 内部都被转换成一个加权的最小化问题。目标包含有很多 iSIGHT
参数,目标根据重要程度都有相应的权重因子和规模因子。如果一个目标是最大化,
那么就在它的权重因子前加负号。
l 如果你的优化技术是一个基于罚函数的技术,那么最小化问题就象上面所述,只需
其中,J 是起作用和冲突的约束的集合
Φ 是一个大的正数 Θ j 是约束的一个偏离因子 对于起作用的约束 Θ j = 0 对于冲突的约束 Θ j > 0
起作用和冲突的约束如下确定:
如果 CT ≤ g j (x) ≤ CTMIN , g j (x) 是起作用的 如果 g j (x) > CTMIN , g j (x) 冲突
24
图 1 起作用和冲突约束识别
3.连续线性规划 (Sequential Linear Programming) 连续线性规划法首先将目标函数和约束条件在起始设计点 X 0 处以一阶泰勒级数展开,
将原问题转化为线性规划问题。这样就可以用线性规划中的算法进行求解,得到下一次的设
计点 X i 。一般说来,这个新的设计点 X i 比起始设计点 X 0 更接近原问题的最优点。在下一
三、 数值型优化技术
下面对每种优化技术进行一下介绍。
1.外点罚函数法(Exterior Penalty)
外点罚函数法广泛的用于含有约束条件的优化问题。在处理含有约束条件的优化问题 时,借助惩罚函数把约束问题转化为无约束的问题,进而用无约束的最优化方法求解。实现 这一目标的途径是由目标函数和约束函数组成辅助函数来完成的。如果该问题存在最优解, 其优化结果通常是可信的,并且相对来说更容易找到真正的最优解。当惩罚因子趋向∞
g j (x) ≅ g j (x0 ) + ∇g j (x0 ) * dx; j ∈ J
dx = x − x0
2. 通过线性规划方法或其他优化器来解决这个线性逼近问题。 3. 重新线性化,转换逼近上的移动界限,并且重复到收敛点。 4. 移动线性逼近上的界限。
25
图2 连续线性规划
4.广义既约梯度法(LSGRG2)
Φ(x) = F(x) + P(x)
转换出的无约束问题就是使 Φ(x) 最小化或最大化。
对于罚函数法的效率和鲁棒性和直接法比较的研究显示,直接法更加健壮,只需要很少 的函数评估。而当你使用一个罚函数法的时候,函数评估的次数会成倍增加。
罚函数法包括: l 外点罚函数法(Exterior Penalty) l Hooke-Jeeves直接搜索法(Hooke-Jeeves Direct Search Method)
外点罚函数法的公式表达如下:
2.修正可行方向法(Modified Method of Feasible Directions)
修正可行方向法是直接数值优化技术中的一种,主要用来解决约束优化问题。该方法可 以快速地获得最优解。约束可以是等式的,也可以是不等式的,并且获得最优解时可以以很 高的精度满足约束条件。该方法有如下特点:
l 广义既约梯度法(Generalized Reduced Gradient - LSGRG2) l Hooke-Jeeves直接搜索法(Hooke-Jeeves Direct Search Method) l 可行方向法– CONMIN(Method of Feasible Directions – CONMIN) l 混合整型优化– MOST(Mixed Integer Optimization – MOST) l 连续二次规划法– DONLP(Sequential Quadratic Programming– DONLP) l 连续二次规划法– NLPQL(Sequential Quadratic Programming – NLPQL) l 逐次逼近法(Successive Approximation Method) 数值型搜索技术又可以分成如下两类: (1)直接法(Direct methods) 直接法在搜索过程中直接处理约束。 直接法包括: l 广义梯度下降法(Generalized Reduced Gradient - LSGRG2) l 可行方向法– CONMIN(Method of Feasible Directions – CONMIN) l 混合整型优化– MOST(Mixed Integer Optimization – MOST) l 修正可行方向法(Modified Method of Feasible Directions-ADS) l 连续线性规划 (Sequential Linear Programming- ADS) l 连续二次规划法– DONLP(Sequential Quadratic Programming – DONLP) l 连续二次规划法– NLPQL(Sequential Quadratic Programming – NLPQL) l 连续逼近法(Successive Approximation Method) (2)罚函数法(Penalty methods) 罚函数方法和直接法不同,他们并不直接处理约束。罚函数法通过给目标函数增加一 个惩罚项将约束问题转换成无约束问题进行处理:
22
2.探索型优化技术
探索型优化技术避免了集中在局部区域的搜索,这些技术遍历整个参数空间搜索全局最 设计优点。iSIGHT中这种技术有:
l 遗传算法(Genetic Algorithm) l 批处理遗传算法(Genetic Algorithm with Bulk Evaluation) l 模拟退火算法(Simulated Annealing) 3.专家系统技术 专家系统技术使优化沿着用户定义的方向进行改变,改变哪一项,怎么改变,什么时候 改变,这些都由用户自己定义。iSIGHT 中这样的技术为有指导启发式搜索方法(Directed Heuristic Search-DHS)。如果用户知道输入怎样影响输出结果的话,这种方法效率很高。
在后面加上惩罚项即可。
l 所有的等式约束 h(x)都有一个范围,± DeltaForEqualityConstra intViolation ,
在这个范围内约束不认为是冲突的。默认的范围是±0.00001。每个约束也有权重 因子和规模因子。 l 所有不等式约束 g(x)都认为是非线性的。如果一个输出参数有上下边界,那么 iSIGHT 就会自动转换成两个不等式约束。每个约束也有权重因子和规模因子。 l iSIGHT 设计变量 X,可以是实数、整数或离散变量。如果 X 是实数和整数变量,那 么 X 值必须满足上下边界条件,如果没有边界条件,默认值是 1E15。这个默认值 也可以通过参数对话框进行修改。 l iSIGHT 按照每个设计变量都有上下边界来进行计算,如果变量是离散的,iSIGHT 需要设计变量的值在给定的约束集合内,ISIGHT 内部默认的上边界是 n-1,下边 界是 0,其中 n 为系统允许值,这个值可以通过 API 函数进行修改。
二、 优化技术的分类
21
本部分对 iSIGHT 中每种优化技术进行简要的介绍。 iSIGHT 中的优化技术分为三类: l 数值型优化技术(Numerical Optimization Techniques) l 探索型优化技术(Exploratory Techniques) l 专家系统技术(Expert System Techniques) 这些优化技术如下所示:
Isight 优化技术(Optimization)
一、 iSIGHT 对优化问题的表达
不同的优化软件对优化问题的表达方式是不一样的,iSIGHT 对优化问题表述如下:
目标: 满足
∑ Minimize i
Wi SFi
×
Fi ( X )
等式约束:
(hk
(
X
)
−
T
arg
et)
×
Wk SFk
= 0 ;k=1,…,K
这种技术使用广义既约梯度法解决约束非线性优化问题。既约梯度法是目前求解非线性 优化问题的最有效的方法之一。这种方法使用一种搜索方向,在这个方向上对于一些小偏移 所有约束都仍然起作用。同时这种方法通过消去某些变量在降维空间中的运算,能够较快的 确定最优解,可用来求解大型的问题。
广义既约梯度法有如下特性: l 适合于非线性的设计空间; l 不适合不连续的设计空间; l 在初始设计点周围遍寻局部空间; l 依照起作用的约束来优化设计; l 直接处理不等和等式约束。 LSGRG2 用一般既约梯度算法来解决约束非线性优化问题。算法用一条使得活动约束仍 在小偏移上起作用的搜索路径。广义既约梯度方法是对原始的既约梯度法的扩展。这个扩展 包括在每一个不等约束上加上一个松弛变量:
不等式约束:
Wj SF j
× (LB
−
g
j ( X ))
≤
0
Wj SF j
× (g
j(X)
− UB)
≤
0 ;j=1,…,L
设计变量: 对于整型和实型数 LB ≤ iSIGHTInputParameter ≤ UB
SF
SF
SF
对于离散型参数是输入参数集合 S
其中,SF——规模因子,默认值为 1.0;
W——权重因子,默认值为 1.0;
最小化 ∇F (x q−1 ) × S q 满足: ∇g j (x q−1 ) × S q ≤ 0; j ∈ J
Sq ×Sq ≤1
(3)如果一个或多个约束冲突,使用修正可行方向法:
最小化 ∇F (x q−1 ) × S q − Φβ 满足: ∇g j (x q−1 ) × S q + Θ j β ≤ 0; j ∈ J Sq ×Sq ≤1
l 能快速得到一个优化设计; l 能处理不等式和等式约束; l 在优化中能十分准确地满足约束。 下面是修正可行方向法的解决问题步骤:
1. q = 0, x = x0
2. q = q + 1
23
3. 求 F (x百度文库 和 g j (x) 的值; j = 1,2,...., M
4. 确定临界的约束集,J
次的迭代中将原问题在 X i 处以一阶泰勒级数展开。如此反复,以线性规划问题去近似非线
性规划问题,希望每次迭代得到的新的设计点都比前一个设计点更接近原问题的最优点。而 在新的设计点上的近似子问题,也愈来愈接近原非线性问题最优点的附近区域。最终线性规 划问题的最优点可以以很高的精度接近原问题的最优点。
1.数值型优化技术
数值型优化技术通常假定参数空间是单峰的、凸的和连续的,该软件中使用了如下的数 值型优化技术:
l ADS (Automated Design Synthesis)-based Techniques l 外点罚函数法(Exterior Penalty) l 修正可行方向法(Modified Method of Feasible Directions) l 连续线性规划 (Sequential Linear Programming)
5. 计算 ∇F (x) 和 ∇g j (x) , j ∈ J 6. 确定可用和可行的搜索方向, S q 7. 进行一维搜索寻找 a * 8. 令 x q = x q−1 + a *×S q
9. 检查收敛性;如果不收敛转到第 2 步 修正可行性方向法技术用以下几种方法之一来寻找每一次迭代的搜索方向: (1)如果没有约束起作用或冲突,那么使用无约束方法中的变梯度法。 (2)如果有任何约束起作用并且没有约束冲突,使用修正可行性方向法: