void write_model(lprec *lp, char plp, char *wlp, char *wmps, char *wfmps, char *wxli, char *wxlisol, char *wxliname, char *wxlioptions)
{
  if(plp)
    print_lp(lp);

  if(wlp != NULL)
    write_lp(lp, wlp);

  if(wmps != NULL)
    write_mps(lp, wmps);

  if(wfmps != NULL)
    write_freemps(lp, wfmps);

  if((wxliname != NULL) && (wxli != NULL)) {
    if(!set_XLI(lp, wxliname)) {
      fprintf(stderr, "Unable to set XLI library (%s).\n", wxliname);
      EndOfPgr(FORCED_EXIT);
    }
    write_XLI(lp, wxli, wxlioptions, FALSE);
    set_XLI(lp, NULL);
  }

  if((wxliname != NULL) && (wxlisol != NULL)) {
    if(!set_XLI(lp, wxliname)) {
      fprintf(stderr, "Unable to set XLI library (%s).\n", wxliname);
      EndOfPgr(FORCED_EXIT);
    }
    write_XLI(lp, wxlisol, wxlioptions, TRUE);
    set_XLI(lp, NULL);
  }
}
Example #2
0
int glp_write_mps(glp_prob *lp, int fmt, const void *parm,
      const char *fname)
{     /* write problem data in MPS format */
      int ret;
      if (!(fmt == GLP_MPS_DECK || fmt == GLP_MPS_FILE))
         xerror("glp_write_mps: fmt = %d; invalid parameter\n", fmt);
      if (parm != NULL)
         xerror("glp_write_mps: parm = %p; invalid parameter\n", parm);
      switch (fmt)
      {  case GLP_MPS_DECK:
            ret = write_mps(lp, fname);
            break;
         case GLP_MPS_FILE:
            ret = write_freemps(lp, fname);
            break;
         default:
            xassert(fmt != fmt);
      }
      return ret;
}