# get_basiscrash

Determines a starting base.

int get_basiscrash(lprec *lp);

Return Value

Specifies which basis crash mode is used. Can by any of the following values:

CRASH_NONE (0) | No basis crash
CRASH_MOSTFEASIBLE (2) | Most feasible basis
CRASH_LEASTDEGENERATE (3) | Construct a basis that is in some measure the "least degenerate"

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

Remarks

The get_basiscrash function returns which basis crash mode must be used. Default is CRASH_NONE.

When no base crash is done (the default), the initial basis from which lp_solve starts to solve the model is the basis containing all slack or artificial variables that is automatically associates with each constraint.

When base crash is enabled, a heuristic ``crash procedure'' is executed before the first simplex iteration to quickly choose a basis matrix that has fewer artificial variables. This procedure tends to reduce the number of iterations to optimality since a number of iterations are skipped. lp_solve starts iterating from this basis until optimality.

Example

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

    int main(void)
    {
      lprec *lp;
      int basiscrash;

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

      /* Model created */

      basiscrash = get_basiscrash(lp);

      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_basiscrash, default_basis, get_basis, set_basis, read_basis, write_basis, guess_basis