Match infeasible problem handling to CVXPY
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reading the solve_only_batch and solve_and_derivative_batch entry points, then compare their current infeasible-problem behavior with the CVXPY interface. The issue suggests reporting infeasibility for solve_only_batch so DiffCP and CVXPYLayers can use feasibility problems; completion should define the return values and handling for each batch thread, including whether derivative batches are excluded.
Written by the indexing model from the issue text.
Description
Hey,
Noticing that the current behaviour for an infeasible problem in the batch is just to throw a SolverError.
I think matching the CVXPY interface of just reporting infeasibility would be advantageous because
- it matches the CVXPY behaviour
- it allows using DiffCP and CVXPYLayers for feasibility problems, which is currently cumbersome
I assume this would require some work, since its has to be kept track of, which thread is dealing with an infeasible problem and there would be a need for additional returns. Moreover, it probably makes no sense to support this for solve_and_derivative_batch but only for solve_only_batch.
However given the desire to fulfill https://github.com/cvxpy/cvxpy/issues/2485, this may be required eventually anyway.
- Dominant language
- Python
- Stars
- 121
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from cvxgrp/diffcp
-
MOSEK SolverOpen
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 50/100
-
add power coneOpen
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
Similar issues
-
docs pydanty:is-working
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
pydantic/pydantic-ai#10113 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
GreedyBear-Project/GreedyBear#1727 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
ARM-software/CMSIS-DSP#354 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
kiat/codeAssist#391 ·
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
darnitdevorg/darnit#587 ·
Maintainers usually reply within 1 day