convex-optimization

Solves convex optimization problems using SciPy and Z3 Python libraries.

8|1|Updated Jan 4, 2026
One-click install
npx skills add https://github.com/scooter-lacroix/Maestro --skill convex-optimization-scooter-lacroix
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convex-optimization
Source: https://github.com/scooter-lacroix/Maestro/tree/main/maestro/skills/math/math/optimization/convex-optimization
Command: npx skills add https://github.com/scooter-lacroix/Maestro --skill convex-optimization-scooter-lacroix

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill provides strategies and tools for solving convex optimization problems, ensuring efficient and accurate solutions for mathematical modeling tasks.

Core Features & Use Cases

  • Convexity Verification: Tools to check if a problem is convex.
  • Problem Classification: Identifies the type of optimization problem (LP, QP, etc.) to select the appropriate solver.
  • Standard Form Conversion: Assists in converting problems into a standard format for solvers.
  • KKT Conditions: Provides methods to verify optimality conditions.
  • Use Case: Optimizing resource allocation in a manufacturing process where the objective function and constraints are convex.

Quick Start

Use the convex-optimization skill to solve a linear programming problem using scipy.optimize.linprog.

Frequently Asked Questions about convex-optimization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify KKT conditions for a convex optimization problem?

You can verify KKT conditions for a convex optimization problem by applying mathematical methods that check optimality criteria. This Skill provides specific tools to validate whether your solution satisfies these conditions using Python libraries like Z3.

Can I use scipy to solve linear programming problems?

Yes, you can use scipy.optimize.linprog to solve linear programming problems. This Skill provides strategies to convert your mathematical modeling tasks into standard form, allowing SciPy to efficiently solve your resource allocation or optimization challenges.

What is the best way to check if my mathematical model is convex?

The best way to check if a mathematical model is convex is to use convexity verification tools. These tools analyze your objective function and constraints to confirm they meet the mathematical properties required for convex optimization solvers.

Does Z3 work for proving optimality in convex optimization?

Z3 works for proving optimality in convex optimization by mathematically verifying KKT conditions. It is utilized alongside SciPy to handle both the solving of optimization challenges and the formal proof of the resulting solutions.

How do I classify an optimization problem to select the right solver?

You classify an optimization problem by identifying its type, such as LP or QP, to select the appropriate solver. This Skill includes problem classification tools that analyze your mathematical model to determine the correct standard form conversion needed for Python libraries.

When do I need to convert an optimization problem to standard form?

You need to convert an optimization problem to standard form when your solvers require a specific format to process the objective function and constraints. This conversion step ensures compatibility with Python libraries like SciPy for accurate mathematical modeling.