请问有没有朋友有没有知道在MATLAB用mosek解决MPC优化问题的时候,mosek求解过程显示有的约束的对偶残差过大导致没有优化到最优点,但是显示的状态是optimal,请问可能是哪里的问题呢,目前约束的定义是根据论文中的描述定义的,应该没有问题,环境是MATLAB2024a和mosek 10.2
35条回答 默认 最新
- 阿里嘎多学长 2024-12-07 19:54关注
获得0.15元问题酬金 阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
MATLAB和mosek的求解问题
你遇到的问题是使用MATLAB和Mosek来解决MPC优化问题,但是Mosek的求解过程显示有的约束的对偶残差过大导致没有优化到最优点,但是显示的状态是optimal。
可能的原因有以下几点:
- 对偶残差的计算方式:Mosek使用的对偶残差计算方式可能与你期望的不同。可以尝试使用
mosekopt.getprimalobj
和mosekopt.getdualobj
函数来获取原始问题的目标函数值和对偶问题的目标函数值,来检查对偶残差是否真的很大。 - 约束的松弛:Mosek可能使用了约束松弛的方法来解决问题,这可能会导致对偶残差的增加。可以尝试使用
mosekopt.setintparam
函数来设置mosek.opterms
参数为MOSEK_OPTERMS_FEAS
,来禁用约束松弛。 - 问题的非线性性:MPC优化问题可能具有非线性性,这可能会导致对偶残差的增加。可以尝试使用
mosekopt.setintparam
函数来设置mosek.dinf
参数为MOSEK_DINF_OFF
,来禁用非线性约束。 - 求解器的参数设置:Mosek的求解器参数可能需要调整。可以尝试使用
mosekopt.setintparam
函数来设置mosek.basis
参数为MOSEK_BASIS_AUTO
,来自动选择基础矩阵。
可以尝试以上几点来解决问题,如果问题仍然存在,可以提供更多的信息和代码,来帮助你更好地解决问题。
解决 无用评论 打赏 举报 - 对偶残差的计算方式:Mosek使用的对偶残差计算方式可能与你期望的不同。可以尝试使用
悬赏问题
- ¥15 宇视监控服务器无法登录
- ¥15 PADS Logic 原理图
- ¥15 PADS Logic 图标
- ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
- ¥15 DruidDataSource一直closing
- ¥20 气象站点数据求取中~
- ¥15 如何获取APP内弹出的网址链接
- ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
- ¥50 STM32单片机传感器读取错误
- ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据