There are two types of core functions in cddlib. The first type runs the double description (DD) algorithm and does a representation conversion of a specified polyhedron. The standard header for this type is dd_DD*. The second type solves an linear program and the standard naming is dd_LP*. Both computations are nontrivial and the users (especially for the DD algorithm) must know that there is a serous limit in the sizes of problems that can be practically solved. Please check *.ext and *.ine files that come with cddlib to get ideas of tractable problems.
The revised dual simplex method is ideal for dense LPs in small number of variables
(i.e. small column size, typically less than )
and many inequality constraints (i.e. large row size, can be a few ten thousands).
If your LP has many variables but only few constraints, solve the dual LP by
this function.
When it is compiled for GMP rational arithmetics, it first tries to solve an LP with C double floating-point arithmetics and verifies whether the output basis is correct with GMP. If so, the correct solution is computed with GMP. Otherwise, it (re)solves the LP from scratch with GMP. This is newly implemented in the version 093. The original (non-crossover) version of the same function is still available as boolean dd_LPSolve0.