Skip to content

cvxpy/GSOC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GSOC 2026

CVXPY is an open-source Python-embedded modeling language for convex optimization problems. It lets you express your problem in a natural way that follows the math, rather than in the restrictive standard form required by solvers.

CVXPY will be a participating sub-organization in NumFOCUS's application for Google Summer of Code 2026. For more information about this application see:

AI Disclosure Policy

All GSoC-related issues and pull requests must disclose AI usage.

If AI tools were used, end the issue or PR with a sentence beginning:

AI assistance was used for ...

If no AI tools were used at all, end with the sentence:

No AI tools were used in this contribution.

Submissions that omit a disclosure may be closed without review.

Project Ideas

Post-solver feasibility and optimality checks

Short description:

This project has two parts:

The goal of these checks is to ensure that the constraints of the original problem are solved to the expected tolerance from the user. Since CVXPY transforms your problem, it can sometimes be confusing to users if the solver reports a different tolerance.

The optimality conditions checks portion of the project will be to understand the previous work, integrate it completely into CVXPY, and extend it to support DNLP.

Project Scope

The contributor will conduct a full review of CVXPY's canonicalization and the deliverables from the GSoC 2023 project. Then, as time permits, they will add new post-solver functionality to CVXPY.

Expected Deliverables

For the feasibility checks, the contributor must add:

  • tests that cover many edge cases
  • proper warning messages and handling of solver options
  • documentation

For the optimality checks, the contributor must add:

  • complete test coverage for typical convex problems involving various cones
  • dual variable support for DNLP
  • complete test coverage for atoms in DNLP
  • developer documentation on verifying the optimality conditions

Skills Required

  • Knowledge of mathematical optimization, in particular optimality conditions
  • Basic knowledge of Python and CVXPY
  • Basic knowledge of NLP solvers such as IPOPT
  • Some knowledge of DNLP canonicalization can be helpful.

Project Size

  • 350 hours (Large)

Mentors

  • William Zhang
  • Daniel Cederberg
  • Parth Nobel

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •