当前位置:文档之家› ADVISOR控制策略优化方法(原创教程)

ADVISOR控制策略优化方法(原创教程)

ADVISOR控制策略优化毛冲2014年7月8日1、综述控制策略优化程序的目的确定控制策略参数,以满足用户指定的目标和约束,通过调整控制策略参数和重新评估性能标准直至满足所有要求。

目前,advisor有两种优化方法。

第一种方法基于matlab,它通过扫描一维和二维多级参数,并且使用内置逻辑来确定合适的配置参数。

第二种方法使用VisualDOC优化软件来确定合适的配置参数。

每一种控制策略优化程序都只提供一种方案来解决优化问题。

因此,结果只能作为参考。

在这两种方法中,建议先自动改变汽车参数,但是不是必须的。

在优化过程中,控制策略优化程序要定义坡度和加速度性能约束条件。

当调整设计变量时,控制策略优化程序将会确保汽车让然满足这些约束条件这种控制策略优化程序适用于串联(包括燃料电池汽车)和并联混合动力汽车。

在advisor中传统和纯电动汽车不能优化控制策略参数。

2、控制策略优化设置窗口图1是控制策略优化设置窗口,这个界面允许用户定义如何使优化程序进行设置设计变量、目标和约束条件。

图1:控制策略优化设置窗口2.1选择优化方法用户选择优化程序的计算方法。

如果选择 "Optimize using VisualDOC" 按钮,将会使用VisualDOC优化软件确定解决方案。

另外,也可以使用基于matlab的优化方法。

VisualDOC只有有限的版本支持advisor,如果在你的电脑中没有安装一个完整的VisualDOC的授权版本,你将会仅限于5个设计变量。

2.2选择循环/测试过程Cycle/Test Procedure Selection用户必须决定是否为一个单独的驾驶循环或者测试过程来优化控制策略参数,用户可以选择在控制策略优化设置窗口中所有可用的驾驶循环和测试过程。

要注意对测试过程的优化可能显著增加解决优化问题所需的时间,也要注意汽车对单一循环的优化不一定能够为气体驾驶循环或者测试过程提供好的结果。

2.3配置设计变量Design Variables在这个部分,用户必须定义优化程序可以修改哪一个设计变量。

只能修改那些选择的设计变量,其他变量则保持不变。

如果使用基于matlab 的优化程序,soc的下限和上限将不能再作为设计变量,因为可以在基于matlab的优化程序中更有效的设置这两个参数。

然后,用户必须为每一个选择的设计变量定义初始条件、下限和上限,默认的初始条件是在matlab工作空间中的当前参数值。

此外,如果使用基于matlab的优化程序,用户必须指定在执行每一级参数扫描过程中扫描点的数量。

第一级参数扫描中点的数量规定了过程分辨率或者在下限和上限之间要评估的点的数量,第二级参数扫描中点的数量规定了更高的分辨率或者在第一级参数扫描中最佳值附近要评估的点的数量。

比如,给定下面一组输入,upper bound = 1 number of points in the first sweep = 4lower bound = 0 number of points in the second sweep = 3图2:多级参数扫描第一级参数扫描将会在 X = [0 0.25 0.5 0.75 1.0]中评估汽车性能,假设最佳结果出现在X =0.75,然后第二级参数扫描将会在X = [0.5 0.666 0.833 1.0] 中评估汽车性能。

这个例子显示在图2中,从两级参数扫描中得到的综合数据可以确定最佳设置。

2.4配置目标/约束Objective/Constraints用户必须配置在选择最佳最佳设计变量值时使用的约束和目标。

如果选择了OBJ单选按钮,那么在计算归一化目标函数时就会考虑到这些参数。

否则,这些参数将会被视为约束条件。

为了简单地忽略某些参数,可以选择CON单选按钮,并且将其值设置为-1。

对于那些被指定为目标的参数,用户必须指定相应的权重因子,它决定了该参数在归一化目标函数中的重要程度。

只有那些被激活的目标参数才能被包含在目标函数计算过程中,归一化目标函数的最小化和计算方法如下公式所示,此处,排放性:燃油经济性:是第i个目标参数。

现在可以点击按钮来执行优化程序,然后你将会有机会编辑和接受将要执行的已经存在的或默认(如果不能执行自动尺寸设计程序时)的性能约束。

在执行优化程序之前,会先计算完成整个优化程序所需的时间。

此时,用户可以选择继续执行程序,或者选择取消。

选择CANCEL 将会返回到控制策略优化设置窗口,然后重新设置优化参数或者退出。

要注意评估时间仅仅是估计时间,它会随着计算机处理速度和选择的循环/从测试过程的长度而变化。

3.控制策略优化绘图在执行优化程序过程中,将会为用户提供各种反馈图片。

当使用VisualDOC 时,你会收到两个不同的图片。

第一幅图(图3)显示了每一个设计变量的值及其相应的上限和下限,此时程序将会执行一个完整的二阶Koshal 交互式设计(关于Koshal 设计方法的更多信息,请参考相关VisualDOC 文献),当程序执行时图3会不断更新。

第二幅图(图4)显示了在每一次迭代计算中使归一化目标函数最小化的过程,此外它也显示了最优化变量的值。

随迭代次数变化的变量值会以红色显示出来,约束参数的状态以及每一部分目标和归一化目标函数的重要性也会显示出来,这幅图会在每次优化迭代过程中不断更新。

当优化结束后,将会激活按钮,它允许你查看在优化过程中如何调整设计变量的值。

图3:设计变量图当使用基于matlab的优化程序时,绘图历史按钮将会提供类似于图5和图6所示的图片。

图5:一维参数扫描结果:图6:二维参数扫描结果当使用VisualDOC优化软件时,绘图历史按钮将会提供类似于图7所示的图片。

图7:二维参数扫描结果4.控制策略优化结果当控制策略优化程序结束后,对汽车配置的所有修改都会详细地显示在matlab的命令窗口,并且所有参数值都会在advisor变量列表中得到更新,如图9所示。

此时,建议你回到汽车配置窗口,并且保存汽车配置信息,以便优化结果能够用于未来分析。

图9:matlab命令窗口主要信息5.使用基于matlab的控制策略优化程序基于matlab的控制策略优化程序根据用户指定的目标和约束,使用一维和二维多级参数扫描来确定最佳的控制策略参数,它也使用内置逻辑和优化问题方面的知识尽量快地找到一种解决方案。

但是,这种优化方法不是一种全局最优方法,并且它不考虑设计变量间的相互作用。

首先,估计并且保存当前汽车的性能参数,以便于计算目标函数。

然后,设置已经激活的设计变量值,以使其不会限制汽车的性能。

这些初始参数值如表1所示。

表1:初始参数值然后,优化程序搜索用户定义的每一个活动设计变量的范围,并且把其设置为最佳值。

对于指定的车辆类型,估计并且分配变量新值的顺序与表1中所列的变量顺序一致。

这个顺序是由每一个参数对汽车性能的相对影响程度(由大到小)而决定的,它也与控制策略优化配置窗口中显示的变量顺序一致。

此外,对于串联和并联汽车,如果两个变量都是活动设计变量,那么必须一起估计与它们相关的变量。

比如串联汽车, cs_charge_pwr和cs_min_pwr是相关变量。

比如并联汽车,cs_charge_trq和cs_min_trq_frac 是相关变量。

二维多级参数扫描适用于这些变量,可以使用一维多级参数扫描单独地估计其他变量。

一旦优化程序把所有参数设置为最佳值,就会比较当前汽车性能与初始性能,进而确保目标函数得到改善。

如果没有改善目标函数,就会恢复初始汽车配置。

如果改善了目标函数,那么主要信息会显示在matlab 的命令窗口。

6.使用基于V isualDOC的控制策略优化程序VisualDOC是基于优化软件包的梯度算法,它与其他各种代码和软件包一起使用。

使用基于VisualDOC的控制策略优化程序步骤如下:⑴advisor保存了当前汽车配置信息;⑵VisualDOC使用advisor作为解决方案引擎来完成实验设计(DOE);⑶VisualDOC根据初始DOE结果和每次函数调用后的响应,使用近似响应面法来优化控制策略参数;⑷advisor使用VisualDOC结果更新当前工作空间;为了使用基于VisualDOC的优化程序,一个已经授权的VisualDOC1.2必须安装在计算机中。

为了获得一个完全授权的VisualDOC1.2,请访问V anderPlatts R&D公司网址http:\\。

advisor中包含了一个VisualDOC的有限演示版本,它允许用户解决5个以内设计变量的优化问题。

基于VisualDOC的优化程序也不考虑设计变量间的相互作用,它同样不是一种全局最优方法。

当使用基于VisualDOC的优化程序时,可能使用同样的DOE数据组来完成多次优化。

在执行第一次控制策略优化程序过程中,将创建一组DOE数据。

近似响应面程序根据用户定义的目标和约束,使用这组数据来确定最佳配置。

一旦优化结束,用户可以使用一组不同的目标和约束再进行优化。

当选择了优化控制策略按钮后,系统会提示用户使用现有的DOE数据组或者生成一个新的DOE数据组。

如果使用现有的数据组,那么只能改变目标和约束,也可以编辑当前活动设计变量的条件。

为了使DOE数据组有效,所有的仿真参数必须保持不变。

如果你决定生成一组新的数据,那么你就能够修改任何一个输入参数但是程序将会花费更长的时间。

由于本人水平有限,本文难免会有不足之处,敬请见谅!。

相关主题