Advanced simplex routines

This section describes a set of advanced basis routines. These routines allow you to compute solutions to various linear systems involving the simplex basis matrix. Note that these should only be used by advanced users. We provide no technical support for these routines.

Before describing the routines, we should first describe the GRBsvec data structure that is used to input or return sparse vectors:

typedef struct SVector {  
  int len;
  int *ind;
  double *val;
  } GRBsvec;  

The len field gives the number of non-zero values in the vector. The ind and val fields give the index and value for each non-zero, respectively. Indices are zero-based. To give an example, the sparse vector [0, 2.0, 0, 1.0] would be represented as len=2, ind = [1, 3], and val = [2.0, 1.0].

The user is responsible for allocating and freeing the ind and val fields. The length of the result vector for these routines is not known in advance, so the user must allocate these arrays to hold the longest possible result (whose length is noted in the documentation for each routine).


Try Gurobi for Free

Choose the evaluation license that fits you best, and start working with our Expert Team for technical guidance and support.

Evaluation License
Get a free, full-featured license of the Gurobi Optimizer to experience the performance, support, benchmarking and tuning services we provide as part of our product offering.
Academic License
Gurobi supports the teaching and use of optimization within academic institutions. We offer free, full-featured copies of Gurobi for use in class, and for research.
Cloud Trial

Request free trial hours, so you can see how quickly and easily a model can be solved on the cloud.