📄️ 支持的问题形式
OPTIMake求解以下的优化问题:
📄️ parameter定义
parameter为在优化过程中不变的量, 由用户在调用求解前给定, 比如车身长度length, 质量mass.
📄️ 优化变量定义
优化变量为在优化过程中变化的量, 比如车辆的转角控制量delta, 位置状态x, y.
📄️ objective定义
objective为需要最小化的目标函数. OPTIMake支持以下类型的objective定义:
📄️ 转移等式约束定义
转移等式约束描述了相邻stage之间优化变量的等式关系, OPTIMake支持以下类型的转移等式约束:
📄️ 不等式约束定义
OPTIMake支持以下类型的不等式约束:
📄️ 起点与终点约束定义
起点约束描述了第一个优化变量 $v_1$ 的等式约束, 比如在车辆轨迹规划问题中的车辆初始状态约束.
📄️ 外部C/C++函数支持
上述章节主要介绍了如何通过符号表达式显式地定义问题, 当优化问题不能通过符号定义时 (例如约束为神经网络或者复杂的机器人动力学模型时) , 可通过外部C/C++函数直接定义.
📄️ 约束软化
OPTIMake中内置了对约束软化的支持, 通过该接口能够减少内存占用与计算时间.