# is_anti_degen

Returns if the degeneracy rule specified in testmask is active.

unsigned char is_anti_degen(lprec *lp, int testmask);

Return Value

is_anti_degen returns TRUE or FALSE.

Parameters

lp

Pointer to previously created lp model. See return value of make_lp, copy_lp, read_lp, read_LP, read_mps, read_freemps, read_MPS, read_freeMPS, read_XLI

testmask

ANTIDEGEN_NONE (0) | No anti-degeneracy handling
ANTIDEGEN_FIXEDVARS (1) | Check if there are equality slacks in the basis and try to drive them out in order to reduce chance of degeneracy in Phase 1
ANTIDEGEN_COLUMNCHECK (2) |
ANTIDEGEN_STALLING (4) |
ANTIDEGEN_NUMFAILURE (8) |
ANTIDEGEN_LOSTFEAS (16) |
ANTIDEGEN_INFEASIBLE (32) |
ANTIDEGEN_DYNAMIC (64) |
ANTIDEGEN_DURINGBB (128) |
ANTIDEGEN_RHSPERTURB (256) | Perturbation of the working RHS at refactorization
ANTIDEGEN_BOUNDFLIP (512) | Limit bound flips that can sometimes contribute to degeneracy in some models

Remarks

The is_anti_degen function returns a flag if the degeneracy rule specified in testmask is active.

Example

    #include <stdio.h>
    #include <stdlib.h>
    #include "lp_lib.h"

    int main(void)
    {
      lprec *lp;
      unsigned char anti_degen;

      /* Create a new LP model */
      lp = make_lp(0, 0);
      if(lp == NULL) {
        fprintf(stderr, "Unable to create new LP model\n");
        return(1);
      }

      anti_degen = is_anti_degen(lp, ANTIDEGEN_FIXEDVARS | ANTIDEGEN_PERTURB); /* Will return FALSE */

      delete_lp(lp);
      return(0);
    }

lp_solve API reference

See Also make_lp, copy_lp, read_lp, read_LP, read_mps, read_freemps, read_MPS, read_freeMPS, read_XLI, set_anti_degen, get_anti_degen