# resize_lp Allocate memory for the specified size. unsigned char resize_lp(lprec *lp, int rows, int columns); Return Value Returns TRUE if succeeded, FALSE if not. 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 rows Allocate memory for this amount of rows. columns Allocate memory for this amount of columns. Remarks The resize_lp function deletes the last rows/columns of the model if the new number of rows/columns is less than the number of rows/columns before the call. However, the function does not add rows/columns to the model if the new number of rows/columns is larger. It does however changes internal memory allocations to the new specified sizes. This to make the add_constraint, add_constraintex, str_add_constraint and add_column, add_columnex, str_add_column routines faster. Without resize_lp, these functions have to reallocated memory at each call for the new dimensions. However if resize_lp is used, then memory reallocation must be done only once resulting in better performance. So if the number of rows/columns that will be added is known in advance, then performance can be improved by using this function. Example
    #include <stdio.h>
    #include <stdlib.h>
    #include "lp_lib.h"

    int main(void)
    {
      lprec *lp;

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

      /* Model created */

      /* 1000 constraints will be added, so allocate memory for it in advance to make things faster */
      resize_lp(lp, 1000, get_Ncolumns(lp));

      /* Now add the 1000 constraints */

      delete_lp(lp);
      return(0);
    }
lp_solve API reference See Also copy_lp, delete_lp, free_lp, read_lp, read_LP, read_mps, read_freemps, read_MPS, read_freeMPS, read_XLI, add_column, add_columnex, str_add_column, add_constraint, add_constraintex, str_add_constraint