[SCIP] PYSCIPOPT: Dual solutions in a NLP and constraint handler for SOC constraints.
PEDRO ENRIQUE MALDONADO
pedro.maldonado.c at ug.uchile.cl
Mon Dec 1 03:12:30 CET 2025
Hi,
I hope you are doing well. I would like to ask you a few questions
regarding the implementation of the model in the Python wrapper:
1- I have downloaded IPOPT and configured the solver parameters
accordingly. In my research, and after reviewing the .pxd and .pxi
files, I noticed that using the NLRow class one should be able to
access the dual solution associated with these rows. However, in my
experience, this function always returns 0.
I know there are nonlinear rows, since the getConshdlrName() method of
the Constraint class returns "nonlinear" for some of them, and I also
know that the dual value should not be 0 for all of these constraints.
Moreover, as far as I understand, IPOPT should always return dual
solutions because it is a primal–dual interior-point solver. For that
reason, I do not understand why I am unable to retrieve them.
2- I am aware that the original SCIP code includes several constraint
handlers, such as the Quadratic and Second-Order Cone constraint
handlers. However, I have noticed that in the Python wrapper all
constraints are classified as either linear or nonlinear, and this
classification appears to be hard-coded in the Constraint class. I
would greatly appreciate any guidance on whether there is an
accessible way to add the SOC constraint handler using the existing C
implementation. I am not very experienced with the C language, and so
far creating the plugin directly in Python has not been successful.
Thank you very much for your help.
Best regards,
Pedro Maldonado
More information about the Scip
mailing list