Algorithm choice for knitro_qp

23 views
Skip to first unread message

Mark L. Stone

unread,
Dec 21, 2024, 6:01:09 PM12/21/24
to Artelys Knitro forum
What algorithm(s), such as Interior Point (with or without crossover) or Active Set are used by knitro_qp? Is that documented somewhere? Are the algorithm choices and selection different than if the same (QP) problem was solved using knitro_nlp (if convex vs. non-convex QP matters for the answer to the question, please address)?

Are there any algorithm choices for knitro_qp? If so, what are the details, or where are they documented?

Thanks.

Thibault Vignon

unread,
Dec 23, 2024, 10:36:28 AM12/23/24
to Artelys Knitro forum
Hi Mark,

For convex QPs, the default algorithm will be an interior-point algorithm. You may however pass a user option instructing Knitro to run the Active Set algorithm for example. The available algorithms are described in detail here: https://www.artelys.com/app/docs/knitro/2_userGuide/algorithms.html.
Crossover is not enabled by default, but can be controlled with this parameter: https://www.artelys.com/app/docs/knitro/3_referenceManual/userOptions.html#bar_maxcrossit.
If you're calling knitro_qp I suppose that you're using the Matlab interface, this section explains how to pass options to Knitro when using this interface: https://www.artelys.com/app/docs/knitro/3_referenceManual/knitromatlabReference.html#setting-options

Hope this is helpful, and happy holidays !

- Thibault Vignon

Mark L. Stone

unread,
Dec 23, 2024, 11:33:05 AM12/23/24
to Artelys Knitro forum
Yes, I understand about passing options to knitro in MATLAB; I am just trying to understand what they are when knitro_qp is used.

Could you please address algorithm choice for non-convex QP? For a given algorithm specified in the options,  will the algorithm choice for a non-convex QP be the same whether invoked by knitro_qp or knitro_nlp?

Thanks,.

Richard Waltz

unread,
Dec 23, 2024, 11:37:31 AM12/23/24
to kni...@googlegroups.com
Hi,

Currently the default algorithm choice will always be the Interior-Point/Direct algorithm (algorithm=1) for both convex and non-convex QP.  Same for NLP (unless hessopt=4 or 5 in which case it will revert to the Interior-Point/CG algorithm).

However, the behavior will not necessarily be the same when using knitro_qp vs. knitro_nlp on a QP.  This is because when you using knitro_qp, Knitro knows it is a QP and then will apply algorithmic specializations internally to try to solve it more efficiently.  When you use knitro_nlp to solve a QP, Knitro will not know it is really a QP and thus will not apply these specializations.

Regards,
-Richard Waltz



From: 'Mark L. Stone' via Artelys Knitro forum <kni...@googlegroups.com>
Sent: Monday, December 23, 2024 8:12 AM
To: Artelys Knitro forum <kni...@googlegroups.com>
Subject: [Knitro] Re: Algorithm choice for knitro_qp
 
--
You received this message because you are subscribed to the Artelys "Knitro Nonlinear Optimization Solver" google group.
To post to this group, send email to kni...@googlegroups.com
To unsubscribe from this group, send email to knitro-un...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/knitro?hl=en
Thank You,
Artelys
http://www.artelys.com/en/optimization-tools/knitro
---
You received this message because you are subscribed to the Google Groups "Artelys Knitro forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to knitro+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/knitro/028e7494-a2bd-4099-b4fd-2bbaa2217615n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages