SuperAPI AI 工具集

constrained-optimization

通用与其它

查看项目

更新于 10-16 03:15

技能介绍

用途:该技能用于处理优化中的约束优化问题,帮助判断约束类型并选择合适的求解思路与工具。

主要能力:

  1. 约束分类:区分等式约束 h(x)=0、不等式约束 g(x)<=0 与边界约束 l<=x<=u。
  2. 拉格朗日法(等式约束):构造 L(x, lambda)=f(x)+sum lambda_j*h_j(x),求解 grad_x L=0 与 h(x)=0。
  3. KKT 条件(不等式约束):为 g_i(x)<=0 引入 mu_i,使用互补松弛 mu_i*g_i(x)=0。
  4. 罚函数与障碍函数:罚函数加入 rho*sum max(0,g_i(x))^2;障碍函数加入 -sum log(-g_i(x)),并迭代调整参数。
  5. SciPy 约束优化:scipy.optimize.minimize(f, x0, method='SLSQP', constraints=cons),constraints 支持 eq 与 ineq,bounds 指定边界。

工具命令示例: Scipy_Slsqp:uv run python -c "from scipy.optimize import minimize; cons = dict(type='eq', fun=lambda x: x[0] + x[1] - 1); res = minimize(lambda x: x[0]**2 + x[1]**2, [1, 1], method='SLSQP', constraints=cons); print('Min at', res.x)" Sympy_Lagrangian:uv run python -m runtime.harness scripts/sympy_compute.py solve "[2x - lam, 2y - lam, x + y - 1]" --vars "[x, y, lam]" Z3_Kkt_Satisfied:uv run python -m runtime.harness scripts/z3_solve.py prove "complementary_slackness"

适用场景:非线性规划、凸集上的优化、需要处理等式或不等式约束的数值与符号求解任务。

限制:资料未提供具体安装步骤、收费信息、平台支持范围与效果保证;部分方法(如罚函数、障碍函数)需迭代调参,实际收敛性依赖问题性质。完整工具文档见 .claude/skills/math-mode/SKILL.md。