吾爱光设

会员须知
会员须知
实用帮助
实用帮助
查看: 1681|回复: 14

[求助] [已解决]CV的STP优化导致出错?

[复制链接]
  • TA的每日心情

    2024-10-28 16:55
  • 签到天数: 179 天

    [LV.7]常住居民III

    26

    主题

    336

    回帖

    40

    积分

    新手

    积分
    40
    发表于 2024-3-17 20:59 | 显示全部楼层 |阅读模式
    本帖最后由 隔壁的薛定谔 于 2024-3-18 09:55 编辑



    如图所示,一个很简单的模型(EPD= 20mm,单波长,0视场等均为默认值)。
    运行以下优化指令

    AUT
    EFL=145
    MNT 3
    MXT 6

    STP Y

    DRA Y
    GO


    之后,则会出现错误,如下,透镜厚度、焦距等都不受控制。这是什么原因?STP我理解为 对某个变量 每次改变的步长更大一些 所以收敛更快一些,但是从目前的情况来看,STP完全跳出了我的约束范围,导致了错误。






    另外,运行完上述优化侯,查看命令行,提示"NO.4" 变量,这是哪个变量?  这里的变量指的是曲率半径和厚度吗? 这些变量是如何编号的?





    最佳答案
    2024-3-18 09:06
    初始的优化不建议用STP,个人感觉是优化差不多要Merit Function收敛时再用,STP有一定局限性。如果你在前期想快速收敛可以试试ROU。
    变量4估计是像面厚度,可以用der lis指令列出变量及其定义

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册

    ×
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-11-6 07:05
  • 签到天数: 714 天

    [LV.9]以坛为家II

    10

    主题

    1271

    回帖

    641

    积分

    初级

    积分
    641
    发表于 2024-3-18 09:06 | 显示全部楼层    本楼为最佳答案   
    初始的优化不建议用STP,个人感觉是优化差不多要Merit Function收敛时再用,STP有一定局限性。如果你在前期想快速收敛可以试试ROU。
    变量4估计是像面厚度,可以用der lis指令列出变量及其定义
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2024-10-28 16:55
  • 签到天数: 179 天

    [LV.7]常住居民III

    26

    主题

    336

    回帖

    40

    积分

    新手

    积分
    40
     楼主| 发表于 2024-3-18 09:53 | 显示全部楼层
    dpstt 发表于 2024-3-18 09:06
    初始的优化不建议用STP,个人感觉是优化差不多要Merit Function收敛时再用,STP有一定局限性。如果你在前期 ...

    1. stp导致程序报错中断优化,等等都可以理解,但是现在STP导致的是我的约束不受控制,那么这个情况是否正常?另外初期优化不建议使用STP那意思说是当系统的评价函数比较小的时候用STP才比较有效果吗?我看说明书上建议stp在早期优化中使用。说明书如下
    Step optimization works best in the early stages of optimization when the starting design is relatively far from an error function minimum.


    2. 用DER list可以展示出目前的变量,那么这些变量在优化的所有cycle中的排列序号都是固定的吗?



    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-11-6 07:05
  • 签到天数: 714 天

    [LV.9]以坛为家II

    10

    主题

    1271

    回帖

    641

    积分

    初级

    积分
    641
    发表于 2024-3-18 10:02 | 显示全部楼层
    本帖最后由 dpstt 于 2024-3-18 10:05 编辑
    隔壁的薛定谔 发表于 2024-3-18 09:53
    1. stp导致程序报错中断优化,等等都可以理解,但是现在STP导致的是我的约束不受控制,那么这个情况是否 ...

    1、约束不受控制是会遇到的,需要根据情况调整目标及变量。只是个人体会和建议,怎么用还是看你自己的用法。

    2、固定的
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2024-10-28 16:55
  • 签到天数: 179 天

    [LV.7]常住居民III

    26

    主题

    336

    回帖

    40

    积分

    新手

    积分
    40
     楼主| 发表于 2024-3-18 10:59 | 显示全部楼层
    本帖最后由 隔壁的薛定谔 于 2024-3-18 11:00 编辑
    dpstt 发表于 2024-3-18 10:02
    1、约束不受控制是会遇到的,需要根据情况调整目标及变量。只是个人体会和建议,怎么用还是看你自己的用法 ...

    约束分为拉格朗日乘子约束和权重约束。

    拉格朗日乘子约束我理解为是一定会满足的,也就是说在满足拉格朗日乘子的约束前提下 再去寻找MF极小值点。
    然而我那一段优化代码中,本质上是拉格朗日乘子约束,例如EFL=145;MNT 3;MXT 6;都是拉格朗日乘子约束。


    您说的约束不受控制,指的是权重约束吧?例如WTC给权重。这种约束 可能会无效,需要加大权重等。

    大佬,指导下上述理解。。。

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-11-6 07:05
  • 签到天数: 714 天

    [LV.9]以坛为家II

    10

    主题

    1271

    回帖

    641

    积分

    初级

    积分
    641
    发表于 2024-3-18 11:07 | 显示全部楼层
    隔壁的薛定谔 发表于 2024-3-18 10:59
    约束分为拉格朗日乘子约束和权重约束。

    拉格朗日乘子约束我理解为是一定会满足的,也就是说在满足拉格朗 ...

    理论上是这样的,实际在用的时候不是所有条件一定会满足,会有拉格朗日乘子约束被突破的情况。
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2024-10-28 16:55
  • 签到天数: 179 天

    [LV.7]常住居民III

    26

    主题

    336

    回帖

    40

    积分

    新手

    积分
    40
     楼主| 发表于 2024-3-18 11:17 | 显示全部楼层
    dpstt 发表于 2024-3-18 11:07
    理论上是这样的,实际在用的时候不是所有条件一定会满足,会有拉格朗日乘子约束被突破的情况。 ...

    确认一下,您要表达的是“拉格朗日乘子被突破”  
    而不是  “无法满足拉格朗日乘子约束,因此优化报错”

    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-11-6 07:05
  • 签到天数: 714 天

    [LV.9]以坛为家II

    10

    主题

    1271

    回帖

    641

    积分

    初级

    积分
    641
    发表于 2024-3-18 11:31 | 显示全部楼层
    隔壁的薛定谔 发表于 2024-3-18 11:17
    确认一下,您要表达的是“拉格朗日乘子被突破”  
    而不是  “无法满足拉格朗日乘子约束,因此优化报错”
    ...

    不是报错,是边厚出现负数类似情况
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2024-10-28 16:55
  • 签到天数: 179 天

    [LV.7]常住居民III

    26

    主题

    336

    回帖

    40

    积分

    新手

    积分
    40
     楼主| 发表于 2024-3-18 11:40 | 显示全部楼层
    dpstt 发表于 2024-3-18 11:31
    不是报错,是边厚出现负数类似情况



    看了下MNE,MNE是根据近轴光线追迹 从而确定的,因此可能与实际情况不一样,所以不准确?
    所以“边厚出现负数”  可能并没有突破拉格朗提乘子约束,只是MNE计算不准确,系统误认为“边厚出现负数”是满足MNE拉格朗日乘子约束的?

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册

    ×
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-11-6 07:05
  • 签到天数: 714 天

    [LV.9]以坛为家II

    10

    主题

    1271

    回帖

    641

    积分

    初级

    积分
    641
    发表于 2024-3-18 11:44 | 显示全部楼层
    隔壁的薛定谔 发表于 2024-3-18 11:40
    看了下MNE,MNE是根据近轴光线追迹 从而确定的,因此可能与实际情况不一样,所以不准确?
    所以“边厚出 ...

    照这么说,MXT也是同样的情况,MXT 6可能约束不了
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    联系我们|本论坛只支持PC端注册|手机版|小黑屋|吾爱光设 ( 粤ICP备15067533号 )

    GMT+8, 2024-11-6 09:58 , Processed in 0.140625 second(s), 24 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表