int QSadd_cols (QSprob p, int num, int *cmatcnt, int *cmatbeg, int *cmatind, double *cmatval, double *obj, double *lower, double *upper, const char **names)
/* Assume p is initialized to the problem in the QSload_prob example. */ /* Add variables v and w to obtain the following LP problem. */ /* Maximize 3.0x + 2.0y + 4.0z + 5.1v + 1.1w */ /* Subject to */ /* 3.1x + 2.3y + 1.4z + 3.5v + 2.1w <= 12.2 */ /* 5.0x + 1.1y + 3.0w = 10.0 */ /* x >= 2.0 */ /* y free */ /* 1.0 <= z <= 10.0 */ /* 0.0 <= v <= 2.0 */ /* 1.0 <= w <= 2.0 */ int rval; int cmatcnt[2] = { 1, 2 }; int cmatbeg[2] = { 0, 1 }; int cmatind[3] = { 0, 0, 1 }; double cmatval[3] = { 3.5, 2.1, 3.0 }; double obj[2] = { 5.1, 1.1 }; double lower[2] = { 0.0, 1.0 }; double upper[2] = { 2.0, 2.0 }; const char *names[2] = { "v", "w" }; rval = QSadd_cols (p, 2, cmatcnt, cmatbeg, cmatind, cmatval, obj, lower, upper, names); if (rval) { fprintf (stderr, "Add columns failed, error code %d\n", rval); } else { rval = QSwrite_prob (p, "newsmall.lp", "LP"); if (rval) { fprintf (stderr, "Could not write LP, error code %d\n", rval); } }