CGAL::Quadratic_program_pricing_strategy
#include <CGAL/QP_options.h>
Definition
This is an enumeration type containing the values
QP_CHOOSE_DEFAULT, QP_DANTZIG,
QP_PARTIAL_DANTZIG, QP_FILTERED_DANTZIG,
QP_PARTIAL_FILTERED_DANTZIG, andQP_BLAND.
It indicates the pricing strategy to be used in
solving a linear or quadratic program. This strategy determines
how the solver gets from one intermediate solution to the next
during any of its iterations.
Here we briefly describe when to choose which strategy.
QP_CHOOSE_DEFAULT
This is the default value of the pricing strategy in
Quadratic_program_options, and it lets the solver choose the
strategy that it thinks is most appropriate for the problem at hand.
There are only few reasons to deviate from this default, but you are
free to experiment, of course.
QP_PARTIAL_DANTZIG
If the input type is not double, this is usually the
best choice for linear and quadratic programs of medium size.
QP_DANTZIG
If the input type is not double, this can sometimes
make a difference (be faster or slowe) than QP_PARTIAL_DANTZIG
for problems with a high variable/constraint or constraint/variable ratio.
QP_PARTIAL_FILTERED_DANTZIG
If the input type is double, this is usually the best choice
for linear and quadratic programs of medium size.
If the input type is not double, this choice is equivalent
to QP_PARTIAL_DANTZIG.
Note: filtered strategies may in rare cases fail due to double
exponent overflows, see
Section 61.8.1.
In this case, the slower fallback option is
the non-filtered variant QP_PARTIAL_DANTZIG of this strategy.
QP_FILTERED_DANTZIG
If the input type is double, this can sometimes
make a difference (be faster or slowe) than QP_PARTIAL_FILTERED_DANTZIG
for problems with a high variable/constraint or constraint/variable ratio.
If the input type is not double, this choice is equivalent
to QP_DANTZIG.
Note: filtered strategies may in rare cases fail due to double
exponent overflows, see
Section 61.8.1.
In this case, the slower fallback option is
the non-filtered variant QP_DANTZIG of this strategy.
QP_BLAND
This is hardly ever the most efficient choice, but it is guaranteed
to avoid internal cycling of the solution algorithm, see
Section 61.8.2.
See Also
Quadratic_program_options