首页/文章/ 详情

HyperStudy_进行外部Rosenbrock函数最小化研究

8月前浏览503

了解如何使用Compose或Python优化2D Rosenbrock functions。

在开始之前,请将本教程中使用的模型文件从/HS-1050/ 复 制到您的工作目录。

本教程定义了两个输入变量,分别标记为x和y。

优化的目标是最小化f(x,y)= 100*(y-x^2)^2 +(1-x)^2。x和y的范围设置为[-2 ; -2],起点为[-1 ; -1]。

一、执行研究设置

1.启动HyperStudy。

2.通过以下方式开始新研究:

a)在菜单栏中,单击File>New

b)在功能区上,单击。

3.在Add Study对话框中,输入研究名称,选择研究的位置,然后单击OK

4.转到Define Models步骤。

5.添加Parameterized File模型。

a)从Directory中,将相应的.tpl文件拖放到工作区中。

i.如果您使用的是Python,请使用rosenbrock_py.tpl文件。

ii.如果您使用的是Compose,请使用rosenbrock_oml.tpl文件。

img  

b)在Solver input file列中,输入HyperStudy在任何评估期间写入的求解器输入文件的名称。

i.如果您使用的是Python,请输入rosenbrock.py。

ii.如果您使用的是Compose,请输入rosenbrock.oml。

c)在Solver execution script列中,相应地选择Python(py)Compose(oml)

Note:如果你把Compose作为HyperWorks套件的一部分来使用,那么HyperStudy应该会自动指向正确的.bat文件。如果您将Compose作为单独的安装,则在Register Solver Script步骤中,您应该指向Compose_batch.bat。

d)如果您使用Compose作为规划求解执行脚本,请在Solver input arguments列中输入-f infront ${file}。

Note:对于在Linux上运行的求解器脚本,请在Solver input arguments列中输入-f ${file} -nobg以确保Compose批处理模式在前台运行,而不是在后台运行。

6.单击Import Variables。从.tpl文件导入两个输入变量。

7.转到Define Input Variables步骤。

8.将Input Variable的下限、初始和上限更改为图2中指示的值。

img  

二、执行试运行

1.转到Test Models步骤。

2.单击Run Define。在study Directory中创建approaches/setup_1-def/ 目录。approaches/setup_1-def/run__00001/m_1目录包含输入文件,该文件是试运行的结果。

三、创建和评估输出响应

在此步骤中,您将创建一个输出响应。

1.转到Define Output Responses步骤。

2.从目录中,将位于approaches/setup_1-def/run__00001/m_1目录中的rosenbrock.res文件拖放到工作区中。

3.在File Assistant对话框中,将Reading技术设置为Altair® HyperWorks®,然后单击Next

4.选择Single Item in a Time Series,然后单击Next

5.定义以下选项,然后单击Next

a)将Type设置为Unknown

b)将Request设置为Block 1

c)将Component设置为Column 1

img  

6.Optional:输入数据源和输出响应的标签。

7.将表达式设置为First Element。表达式更改为m_1_ds_1[0]。

8.单击Finish

img  

Output response 1将添加到工作区。

9.单击Evaluate。表达式m_1_ds_1[0] 的值应为404.0。

四、运行优化

1.添加优化。

a)在Explorer中,右键单击并从上下文菜单中选择Add。

b)在Add对话框中,选择Optimization

c)对于Definition from,选择一种方法,然后单击OK。

2.转到Optimization>Definition>Define Output Responses步骤。

3.单击Objectives/Constraints - Goals选项卡。

4.将目标添加到Responses 1。

a)单击Add Goal

b)在Type列中,选择Minimize

img  

5.转到Optimization>Specifications步骤。

6.在工作区中,将Mode设置为Adaptive Response Surface Method(ARSM)

Note:只启用对问题表述有效的方法。

7.单击Apply

8.转到Evaluate步骤。

9.单击Evaluate Tasks

10.Optional:点击Iteration Plot选项卡以监控优化进度。

迭代历程记录显示objective值显著减少。Rosenbrock functions有一个全局最小值,任何优化器都很难找到,因为它在真正最优区域是平坦的,并且ARSM没有找到(x,y)=(1,1) 的理论解。

img  



来源:TodayCAEer
pythonUM理论AltairDAP
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-12-05
最近编辑:8月前
TodayCAEer
本科 签名征集中
获赞 85粉丝 192文章 742课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈