matlab中分段函数代码指南针MCP解算器
COMPASS是用于解决在MATLAB版本R2011a中实现的混合互补问题(MCP)的全局收敛算法。
它背后的数学理论基于PATH求解器,它是互补问题的标准求解器。
COMPASS是根据GNU通用公共许可证发行的,因此是免费软件。
COMPASS是一种解决混合互补问题(MCP)的算法:
given
f:
R^n
->
R^n,
and
(possibly
infinite)
bounds
l,
u
find
z
in
[l,u],
w,v
in
R_+^n
s.t.:
f(z)
=
w-v
<(z-l),w>
=
0
<(u-z),v>
=
0
用户必须在基于文件的界面中提供框式约束公式(目标函数和边界)中的MCP和目标函数的雅可比行列式。
COMPASS是稳定牛顿法的一种实现。
MCP被重新表述为发现通常不平滑的函数(法线图或法线方程)为零的问题,该函数在当前迭代时计算出其一阶近似值。
找出这个近似值的零是线性MCP,它是通过枢轴技术解决的,类似于Lemke所描述的方法。
该枢轴算法产生连接当前点和近似值零的分段线性路径。
此路径的端点是
2021-11-10 15:06:07
65KB
系统开源
1