Skip to main content
Log in

Communication protocols for options and results in a distributed optimization environment

  • Full Length Paper
  • Published:
Mathematical Programming Computation Aims and scope Submit manuscript

Abstract

Much has been written about optimization instance formats. The MPS standard for linear mixed-integer programs is well known and has been around for many years. Other extensible formats are available for other optimization categories such as stochastic and nonlinear programming. However, the problem instance is not the only piece of information shared between the instance generator and the solver. Solver options and solver results must also be communicated. To our knowledge there is no commonly accepted format for representing either solver options or solver results. In this paper we propose a framework and theory for solver option and solver result representation in a modern distributed computing environment. A software implementation of the framework is available as an open-source COIN-OR project.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Al-Masri, E., Mahmoud, Q.H.: Investigating web services on the world wide web. In: WWW ’08: Proceedings of the 17th international conference on the World Wide Web, pp. 795–804 (2008)

  2. Altova: XMLSpy XML Editor. http://www.altova.com/xmlspy.html. Accessed 2 May 2014

  3. Brooke, A., Kendrick, D., Meeraus, A., Raman, R.: GAMS: a User’s Guide. GAMS Development Corporation. Washington, DC. http://www.gams.com/dd/docs/bigdocs/GAMSUsersGuide.pdf (2011)

  4. Cplex: IBM ILOG CPLEX Optimizer. http://www-01.ibm.com/software/integration/optimization/cplex-optimizer/. Accessed 14 June 2013

  5. Czyzyk, J., Mesnier, M.P., Moré, J.J.: The NEOS server. Comput. Sci. Eng. IEEE 5, 68–75 (1998)

    Article  Google Scholar 

  6. de la Banda, M.G., Marriott, K., Rafeh, R., Wallace, M.: The modelling language Zinc. In: Principles and practice of constraint programming—CP, Lecture Notes in Computer Science, vol. 4204, pp. 700–705. Springer, New York (2006)

  7. Finin, T., McKay, D., Fritzson, R., McEntire, R.: KQML: an information and knowledge exchange protocol. In: Fuchi, K., Yokoi, T. (eds.) Knowledge building and knowledge sharing. Ohmsha and IOS Press, Beijing (1994)

    Google Scholar 

  8. Forrest, J.: Cbc, a COIN-OR project. https://projects.coin-or.org/Cbc. Accessed 14 June 2013

  9. Forrest, J.: Clp project wiki. https://projects.coin-or.org/Clp. Accessed 14 June 2013

  10. Foundation for Intelligent Physical Agents: FIPA ACL message structure specification. http://www.fipa.org/specs/fipa00061/SC00061G.html (2002)

  11. Foundation for Intelligent Physical Agents: Welcome to FIPA! http://www.fipa.org/ (2014)

  12. Fourer, R., Gay, D.M., Kernighan, B.W.: AMPL: a modeling language for mathematical programming, 2nd edn. Brooks/Cole Publishing Company/Cengage Learning (2002)

  13. Fourer, R., Lopes, L., Martin, K.: LPFML: A W3C XML schema for linear and integer programming. INFORMS J. Comput. 17, 139–158 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  14. Fourer, R., Ma, J., Martin, K.: Optimization services: a framework for distributed optimization. Oper. Res. 58, 1624–1636 (2010)

    Article  MathSciNet  Google Scholar 

  15. Fourer, R., Ma, J., Martin, K.: OSiL: an instance language for optimization. Comput. Optim. Appl. 45(1), 181–203 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  16. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable Object-Oriented Software. Addison-Wesley, Boston (1994)

    MATH  Google Scholar 

  17. GAMS Development Corporation: Cplex solver manual. http://www.gams.com/dd/docs/solvers/cplex.pdf. Accessed 14 June 2013

  18. Gassmann, H., Ma, J., Martin, K.: OS project wiki. https://projects.coin-or.org/OS. Accessed 4 May 2014

  19. Gassmann, H., Ma, J., Martin, K., Sheng, W.: Optimization Services 2.6 user’s manual. Technical report, COIN-OR. https://projects.coin-or.org/svn/OS/releases/2.6.0/OS/doc/osUsersManual.pdf

  20. Gay, D.M.: Hooking your solver to AMPL. Technical Report 97-4-06, Computing Sciences Research Center, Bell Laboratories, Murray Hill. http://www.ampl.com/REFS/hooking2.pdf (1997)

  21. Grüninger, M., Menzel, C.: The process specification language (PSL): theory and applications. AI Mag. 24, 63–74 (2003)

    Google Scholar 

  22. Hafer, L.: DyLP project wiki. https://projects.coin-or.org/DyLP. Accessed 14 June 2013

  23. Kristjánsson, B.: http://www.maximalsoftware.com/mpl/. Accessed 14 June 2013

  24. LINDO Systems Inc. http://www.lindo.com/. Accessed 14 June 2013

  25. LINDO Systems Inc: An overview of LINGO. http://www.lindo.com/index.php?option=com_content&view=article&id=2&Itemid=10. Accessed 29 November 2011

  26. lp\(\_\)solve development group: MPS file format. http://lpsolve.sourceforge.net/5.1/mps-format.htm. Accessed 14 June 2013

  27. Ma, J.: Optimization Services (OS). Ph.D. thesis, Industrial Engineering and Management Sciences, Northwestern University (2005)

  28. Makhorin, A.: GLPK (GNU Linear Programming Kit). http://www.gnu.org/s/glpk/. Accessed 14 June 2013 (2008)

  29. Marriott, K., Nethercote, N., Rafeh, R., Stuckey, P.J., de la Banda, M.G., Wallace, M.: The design of the Zinc modelling language. Constraints 13(3), 229–267 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  30. Marriott, K., Stuckey, P.J.: A minizinc tutorial. http://www.minizinc.org/downloads/doc-latest/minizinc-tute.pdf. Accessed 11 November 2014

  31. Murtagh, B.A.: Advanced Linear Programming. McGraw-Hill, USA (1981)

    MATH  Google Scholar 

  32. Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: Towards a standard CP modelling language. In: Principles and Practice of Constraint Programming CP 2007, Lecture Notes in Computer Science, vol. 4741, pp. 529–543. Springer (2007)

  33. Open Grid Forum: https://www.ogf.org/ogf/doku.php/about. Accessed 23 May 2014

  34. Ralphs, T.K.: SYMPHONY project wiki. https://projects.coin-or.org/SYMPHONY. Accessed 14 June 2013

  35. Riehle, D.: Framework design: a role modeling approach. Ph.D. thesis, ETH Zürich, Switzerland (2000)

  36. Saltzman, M., Hafer, L.: Personal communication. Accessed 15 November 2011

  37. SAP AG: Discovering services in the services registry. http://help.sap.com/saphelp_nwpi711/helpdata/en/2e/8526937af346a0bc446905ea964ceb/content.htm (2014)

  38. Steglich, M.: CMPL—COIN Mathematical Programming Language. https://projects.coin-or.org/Cmpl. Accessed 14 June 2013

  39. The Apache Software Foundation: The Apache Xerces Project. http://xerces.apache.org/. Accessed 14 June 2013 (2011)

  40. The World Wide Web Consortium (W3C): Document Object Model (DOM). http://www.w3.org/DOM/. Accessed 14 June 2013 (2005)

  41. The World Wide Web Consortium (W3C): SOAP version 1.2 Part 1. http://www.w3.org/TR/soap12-part1/. Accessed 14 June 2013 (2007)

  42. The World Wide Web Consortium (W3C): Extensible Markup Language (XML) 1.0 (Fifth edition). http://www.w3.org/TR/REC-xml. Accessed 14 June 2014 (2008)

  43. The World Wide Web Consortium (W3C): The Extensible Stylesheet Language Family (XSL). http://www.w3.org/Style/XSL/. Accessed 14 June 2013 (2011)

  44. Vigerske, S.: GAMSlinks project wiki. https://projects.coin-or.org/GAMSlinks. Accessed 14 June 2013

  45. Waechter, A.: Ipopt project wiki. https://projects.coin-or.org/Ipopt. Accessed 14 June 2013

  46. Welch, V., (ed.): Globus Toolkit Version 4 Grid Security Infrastructure: a standards perspective. The Globus Alliance (2005)

  47. Wikipedia: Design pattern. http://en.wikipedia.org/wiki/Design_pattern. Accessed 23 May 2014

  48. Wikipedia: Document object model. http://en.wikipedia.org/wiki/Document_Object_Model

  49. Wikipedia: Java Architecture for XML Binding. http://en.wikipedia.org/wiki/JAXB

  50. Wikipedia: Open database connectivity. http://en.wikipedia.org/wiki/Open_Database_Connectivity

  51. Wikipedia: Open grid services architecture. http://en.wikipedia.org/wiki/Open_Grid_Services_Architecture. Accessed 23 May 2014

  52. Wikipedia: Universal description discovery and integration. http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration

  53. Wikipedia: Web services discovery. http://en.wikipedia.org/wiki/Web_Services_Discovery

  54. Williams, H.P.: Model building in mathematical programming, 5th edn. Wiley, New York (2013)

Download references

Acknowledgments

The authors are grateful to the associate editor and three anonymous referees for their handling of the paper. Their careful reading of and detailed comments on two previous versions have vastly improved the presentation. Any remaining shortcomings are the sole responsibility of the authors.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Horand Gassmann.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gassmann, H., Ma, J. & Martin, K. Communication protocols for options and results in a distributed optimization environment. Math. Prog. Comp. 8, 161–189 (2016). https://doi.org/10.1007/s12532-015-0091-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12532-015-0091-5

Keywords

Mathematics Subject Classification

Navigation