void OsiVolSolverInterface::writeMps(const char *filename, const char *extension, double /*objSense*/) const { CoinMpsIO writer; writer.setMpsData(*getMatrixByCol(), getInfinity(), getColLower(), getColUpper(), getObjCoefficients(), reinterpret_cast<const char *> (NULL) /*integrality*/, getRowLower(), getRowUpper(), reinterpret_cast<const char **> (NULL) /*colnam*/, reinterpret_cast<const char **> (NULL) /*rownam*/); std::string fname = filename; if (extension) { if (extension[0] != '\0' && extension[0] != '.') fname += "." ; } fname += extension; writer.writeMps(fname.c_str()); }
void OsiCpxSolverInterface::printBounds() { int nc = getNumCols(); int nr = getNumRows(); const char * s = getRowSense(); const double * b = getRightHandSide(); const double * rng = getRowRange(); const double * cl = getColLower(); const double * cu = getColUpper(); const double * rl = getRowLower(); const double * ru = getRowUpper(); std::cout << "ncols=" << nc << ", nrows=" << nr; std::cout << std::endl << "sns="; int i; for( i = 0; i < nr; ++i ) std::cout << " " << s[i]; std::cout << std::endl << "rhs="; for( i = 0; i < nr; ++i ) std::cout << " " << b[i]; std::cout << std::endl << "rng="; for( i = 0; i < nr; ++i ) std::cout << " " << rng[i]; std::cout << std::endl << "cl ="; for( i = 0; i < nc; ++i ) std::cout << " " << cl[i]; std::cout << std::endl << "cu ="; for( i = 0; i < nc; ++i ) std::cout << " " << cu[i]; std::cout << std::endl << "rl ="; for( i = 0; i < nr; ++i ) std::cout << " " << rl[i]; std::cout << std::endl << "ru ="; for( i = 0; i < nr; ++i ) std::cout << " " << ru[i]; std::cout << std::endl; }