#include // definitions of rhs, ia, ja, ar, and obj variables are in bug_matrix.dat #include "bug_matrix.dat" int main() { glp_prob* lp = glp_create_prob(); glp_set_obj_dir(lp, GLP_MIN); int cols = sizeof(obj) / sizeof(obj[0]); glp_add_cols(lp, cols); for (int c = 0; c < cols; ++c) glp_set_col_bnds(lp, c + 1, GLP_FR, 0, 0); // free variable (-inf to inf) int rows = sizeof(rhs) / sizeof(rhs[0]); glp_add_rows(lp, rows); for (int row = 0; row < rows; ++row) { if (rhs[row] == 0) glp_set_row_bnds(lp, row + 1, GLP_FX, 0, 0); // row == 0 else glp_set_row_bnds(lp, row + 1, GLP_UP, 0, rhs[row]); // row <= rhs[i] } int num = sizeof(ia) / sizeof(ia[0]) - 1; // set entries from ia, ja, and ar glp_load_matrix(lp, num, ia, ja, ar); // set objective function for (int i = 0; i < cols; ++i) glp_set_obj_coef(lp, 1 + i, obj[i]); glp_simplex(lp, 0); glp_delete_prob(lp); lp = 0; return 0; }