write_basis
Writes current basis to a file.
unsigned char write_basis(lprec *lp, char *filename);
Return Value
Returns TRUE if basis could be written to filename and FALSE if not.
A FALSE return value indicates an error. Specifically file could not be
opened or not able to write in file.
Parameters
lp
Pointer to previously created lp model. See return value of make_lp,
read_lp, read_LP, read_mps, read_freemps, read_MPS, read_freeMPS, read_XLI
filename
Filename to write the basis to.
Remarks
The write_basis function writes the current basis to filename.
This basis can later be reused by read_basis to reset a basis.
Setting an initial basis can speed up the solver considerably. It is the
starting point from where the algorithm continues to find an optimal solution.
When a restart is done, lp_solve continues at the last basis, except if
set_basis, default_basis or read_basis is called.
The basis in the file is written in MPS bas file format.
Example
#include <stdio.h>
#include <stdlib.h>
#include "lp_lib.h"
int main(void)
{
lprec *lp;
int ret;
/* Read LP model */
lp = read_LP("model.lp", NORMAL, "test model");
if(lp == NULL) {
fprintf(stderr, "Unable to create new LP model\n");
return(1);
}
ret = solve(lp);
ret = write_basis(lp, "model.bas", NULL);
delete_lp(lp);
return(0);
}
lp_solve API reference
See Also make_lp,
read_lp, read_LP, read_mps,
read_freemps, read_MPS, read_freeMPS, read_XLI, get_basis, set_basis, default_basis, read_basis, get_basiscrash, set_basiscrash
