Back to Skills

convex-optimization

majiayu000
Updated Today
1 views
58
9
58
View on GitHub
Othergeneral

About

This skill provides structured strategies for solving convex optimization problems, including convexity verification, problem classification, and solver selection. It guides developers through converting problems to standard form and applying KKT conditions with tools like Z3 proofs and SciPy solvers. Use it when tackling linear, quadratic, or general convex optimization tasks in optimization workflows.

Quick Install

Claude Code

Recommended
Plugin CommandRecommended
/plugin add https://github.com/majiayu000/claude-skill-registry
Git CloneAlternative
git clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/convex-optimization

Copy and paste this command in Claude Code to install this skill

Documentation

Convex Optimization

When to Use

Use this skill when working on convex-optimization problems in optimization.

Decision Tree

  1. Verify Convexity

    • Objective function: Hessian positive semidefinite?
    • Constraint set: intersection of convex sets?
    • z3_solve.py prove "hessian_psd"
  2. Problem Classification

    TypeSolver
    Linear Programmingscipy.optimize.linprog
    Quadratic Programmingscipy.optimize.minimize(method='SLSQP')
    General ConvexInterior point methods
    SemidefiniteCVXPY with SDP solver
  3. Standard Form

    • minimize f(x) subject to g_i(x) <= 0, h_j(x) = 0
    • Convert max to min by negating
    • Convert >= to <= by negating
  4. KKT Conditions (Necessary & Sufficient)

    • Stationarity: grad L = 0
    • Primal feasibility: g_i(x) <= 0, h_j(x) = 0
    • Dual feasibility: lambda_i >= 0
    • Complementary slackness: lambda_i * g_i(x) = 0
    • z3_solve.py prove "kkt_conditions"
  5. Solve and Verify

    • scipy.optimize.minimize(f, x0, constraints=cons)
    • Check constraint satisfaction
    • Verify solution is global minimum (convex guarantees this)

Tool Commands

Scipy_Linprog

uv run python -c "from scipy.optimize import linprog; res = linprog([-1, -2], A_ub=[[1, 1], [2, 1]], b_ub=[4, 5]); print('Optimal:', -res.fun, 'at x=', res.x)"

Scipy_Minimize

uv run python -c "from scipy.optimize import minimize; res = minimize(lambda x: (x[0]-1)**2 + (x[1]-2)**2, [0, 0]); print('Minimum at', res.x)"

Z3_Kkt

uv run python -m runtime.harness scripts/z3_solve.py prove "kkt_conditions"

Key Techniques

From indexed textbooks:

  • [Additional Exercises for Convex Optimization (with] Finally, there are lots of methods that will do better than this, usually by taking this as a starting point and ‘polishing’ the result after that. Several of these have been shown to give fairly reliable, if modest, improvements. You were not required to implement any of these methods.
  • [Additional Exercises for Convex Optimization (with] K { X = x Ax yi } where e is the p-dimensional vector of ones. This is a polyhedron and thus a convex set. Rm has the form − The residual Aˆx − Describe a heuristic method for approximately solving this problem, using convex optimization.
  • [Additional Exercises for Convex Optimization (with] We then pick a small positive number , and a vector c cT x minimize subject to fi(x) 0, hi(x) = 0, f0(x) ≤ p + . There are dierent strategies for choosing c in these experiments. The simplest is to choose the c’s randomly; another method is to choose c to have the form ei, for i = 1, .
  • [Additional Exercises for Convex Optimization (with] We formulate the solution as the following bi-criterion optimization problem: (J ch, T ther) cmax, cmin, 0, minimize subject to c(t) c(t) a(k) ≤ ≥ t = 1, . T The key to this problem is to recognize that the objective T ther is quasiconvex. The problem as stated is convex for xed values of T ther.
  • [nonlinear programming_tif] Optimization Over a Convex Set** - Focuses on optimization problems constrained within a convex set. Optimality Conditions:** Similar to unconstrained optimization, but within the context of convex sets. Feasible Directions and Conditional Gradient** - Explores methods that ensure feasibility within constraints.

Cognitive Tools Reference

See .claude/skills/math-mode/SKILL.md for full tool documentation.

GitHub Repository

majiayu000/claude-skill-registry
Path: skills/convex-optimization

Related Skills

algorithmic-art

Meta

This Claude Skill creates original algorithmic art using p5.js with seeded randomness and interactive parameters. It generates .md files for algorithmic philosophies, plus .html and .js files for interactive generative art implementations. Use it when developers need to create flow fields, particle systems, or other computational art while avoiding copyright issues.

View skill

subagent-driven-development

Development

This skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.

View skill

executing-plans

Design

Use the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.

View skill

cost-optimization

Other

This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.

View skill