Abstract
Distributed computing technologies such as Web Services are growing rapidly in importance in today’s computing environment. In the area of mathematical optimization, it is common to separate modeling languages from optimization solvers. In a completely distributed environment, the modeling language software, solver software, and data used to generate a model instance might reside on different machines using different operating systems. Such a distributed environment makes it critical to have an open standard for exchanging model instances.
In this paper we present OSiL (Optimization Services instance Language), an XML-based computer language for representing instances of large-scale optimization problems including linear programs, mixed-integer programs, quadratic programs, and very general nonlinear programs. OSiL has two key features that make it much superior to current standard forms for optimization problem instances. First, it uses the object-oriented features of XML schemas to efficiently represent nonlinear expressions. Second, its XML schema maps directly into a corresponding in-memory representation of a problem instance. The in-memory representation provides a robust application program interface for general nonlinear programming, facilitates reading and writing postfix, prefix, and infix formats to and from the nonlinear expression tree, and makes the expression tree readily available for function and derivative evaluations.
Similar content being viewed by others
References
Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading (1986)
Bell, B.: CppAD: A package for C++ algorithmic differentiation. http://www.coin-or.org/CppAD/ (2006)
Bischof, C.H., Bücker, H.M., Marquardt, W., Petera, M., Wyes, J.: Transforming equation-based models in process engineering. In: Bücker, H.M., Corliss, G., Hovland, P., Naumann, U., Norris, B. (eds.) Automatic Differentiation: Applications, Theory, and Implementations. Lecture Notes in Computational Science and Engineering, pp. 189–198. Springer, Berlin (2005)
Bradley, G.: Introduction to extensible markup language (XML) with operations research examples. ICS Newsl. 24, 1–20 (2003)
Bradley, G.: Network and graph markup language (NaGML)—data file formats. Technical Report NPS-OR-04-007, Department of Operations Research, Naval Postgraduate School, Monterey, CA, USA (2004). Available from the author, bradley@nps.navy.mil
Chang, T.-H.: Modelling and presenting mathematical programs with xml:lp. Masters thesis, Department of Management, University of Canterbury, Christchruch, NZ (2003)
Czyzyk, J., Mesnier, M.P., Moré, J.J.: The NEOS server. IEEE J. Comput. Sci. Eng. 5, 68–75 (1998)
Dolan, E.D., Fourer, R., Goux, J.-P., Munson, T.S., Sarich, J.: Kestrel: An interface from optimization modeling systems to the NEOS server. Technical report, Optimization Technology Center, Northwestern University, Evanston, IL and Mathematics & Computer Science Division, Argonne National Laboratory, Argonne, IL (2006). http://www.optimization-online.org/DB_HTML/2007/01/1559.html
Dolan, E.D., Fourer, R., Moré, J.J., Munson, T.S.: Optimization on the NEOS server. SIAM News 35(6), 4–9 (2002).
Ezechukwu, O.C., Maros, I.: OOF: open optimization framework. Technical Report ISSN 1469-4174, Department of Computing, Imperial College of London, London, UK (2003)
Fourer, R., Gay, D.M.: Extending an algebraic modeling language to support constraint logic programming. INFORMS J. Comput. 14, 322–344 (2002)
Fourer, R., Gay, D.M., Kernighan, B.W.: A modeling language for mathematical programming. Manag. Sci. 36, 519–554 (1990)
Fourer, R., Lopes, L., Martin, K.: LPFML: A W3C XML schema for linear and integer programming. INFORMS J. Comput. 17, 139–158 (2005)
Fourer, R.: Modeling languages versus matrix generators for linear programming. ACM Trans. Math. Softw. 9, 143–183 (1983)
Fourer, R., Gay, D.M., Kernighan, B.W.: AMPL: A Modeling Language for Mathematical Programming, 2nd edn. Brooks/Cole, Pacific Grove (2003)
Gay, D.M.: Hooking your solver to AMPL (revised 1994, 1997). Technical report, Bell Laboratories, Murray Hill, NJ (1993)
Griewank, A.: Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation. SIAM, Philadelphia (2000)
Halldórsson, B.V., Thorsteinsson, E.S., Kristjánsson, B.: A modeling interface to non-linear programming solvers an instance: xMPS, the extended MPS format. Technical report, Carnegie Mellon University and Maximal Software (2000)
Kristjánsson, B.: Optimization modeling in distributed applications: how new technologies such as XML and SOAP allow OR to provide web-based services (2001). http://www.maximal-usa.com/slides/Svna01Max/index.htm
Lindo Systems, Inc.: LINDO API user’s manual. Technical report, Lindo Systems, Inc. (2002). http://www.lindo.com/lindoapi_pdf.zip
Lougee-Heimer, R.: The Common Optimization INterface for operations research. IBM J. Res. Dev. 47(1), 57–66 (2003)
Lustig, I.J., Puget, J.-F.: Program ≠ program: Constraint programming and its relationship to mathematical programming. Interfaces 31(6), 29–53 (2001)
Ma, J.: Optimization services (OS), a general framework for optimization modeling systems. Ph.D. Dissertation, Department of Industrial Engineering & Management Sciences, Northwestern University, Evanston, IL (2005)
Rosenbrock, H.H.: An automatic method for finding the greatest or least value of a function. Comput. J. 3, 175–184 (1960)
Sandhu, P.: The MathML Handbook. Charles River Media, Hingham (2003)
Skonnard, A., Gudgin, M.: Essential XML Quick Reference. Pearson Education, Boston (2002)
Van Hentenryck, P.: Constraint and integer programming in OPL. INFORMS J. Comput. 14, 345–372 (2002)
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was supported in part by National Science Foundation grants CCR-0082807 and DMI-0322580 to Northwestern University.
Rights and permissions
About this article
Cite this article
Fourer, R., Ma, J. & Martin, K. OSiL: An instance language for optimization. Comput Optim Appl 45, 181–203 (2010). https://doi.org/10.1007/s10589-008-9169-6
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10589-008-9169-6