Mathematical Programming with C#.NET

Mathematical programming (optimization) is the expression of decision problems with mathematical equations. In this study, tools used for solving mathematical models are introduced. In particular, solution tools that should serve as embedded in various C#.Net software projects, namely software libraries, are mentioned. These libraries are effective tools for building and solving mathematical models like writing ordinary .NET code. In addition, providing access to more than one solver with the same syntax brings these tools to the fore in mathematical optimization. In the continuation of the study, the Google OR-Tools library, which is offered free of charge, is mentioned in detail. Solvers in the Or-Tools library and some solvers accessible by this library are tested with a sample problem and their solution speeds are presented in a comparative way. It is thought that this study, which is intended to contribute to the Turkish literature, will be beneficial for both practical life practitioners and theorists.

___

  • [1] Winston, W. L., & Goldberg, J. B. (2004). Operations research: applications and algorithms (Vol. 3).
  • [2] gurobi.com/resources/mathematical-optimization-web-page/
  • [3] https://or.stackexchange.com/questions/1504/what-is-the-purpose-of-libraries-like-pyomo-and-google-or-tools
  • [4] https://www.lindo.com/downloads/PDF/LINGO.pdf
  • [5] https://www.gurobi.com/documentation/9.1/refman/model_file_formats.html
  • [6] https://www.rpi.edu/dept/math/math-programming/cplex66/sun4x_56/doc/refman/html/appendixE3.html
  • [7] https://www.lindo.com/downloads/PDF/LINGO.pdf
  • [8] https://www.rpi.edu/dept/math/math-programming/cplex66/sun4x_56/doc/refman/html/appendixE.html
  • [9] G. C. Murphy, M. Kersten, and L. Findlater. How are Java software developers using the Eclipse IDE? IEEE Software, 23(4):76–83, July 2006. doi: 10.1109/MS.2006.105.
  • [10]https://www.gams.com/latest/docs/gamside/contents.htm#:~:text=The%20GAMS%20IDE%20is%20a,monitored%20in%20the%20process%20window.&text=The%20IDE%20also%20facilitates%20the,a%20file%20by%20file%20basis.
  • [11] http://lpsolve.sourceforge.net/5.5/.......................
  • [12] Küçükdeniz, D. D. T. Uygulamalı Optimizasyon Teknikleri.
  • [13] https://en.wikipedia.org/wiki/Solver.......................
  • [14] http://docs.optano.net/modeling/current/userDoc/supportedsolvers.html
  • [15] https://github.com/OPTANO/optano.modeling.examples/tree/master/Source
  • [16] http://lpsolve.sourceforge.net/5.5/.......................
  • [17] https://www.extremeoptimization.com/Documentation/Default.aspx
  • [18] https://www.gams.com/latest/docs/S_MOSEK.html#MOSEK_INTRODUCTION
  • [19] Dahl, J., & Andersen, E. D. (2021). A primal-dual interior-point algorithm for nonsymmetric exponential-cone optimization. Mathematical Programming, 1-30.
  • [20] https://solve.mosek.com/web/index.html
  • [21] https://developers.google.com/optimization/install/dotnet
  • [22] https://developers.google.com/optimization/cp/integer_opt_cp
  • [23] https://developers.google.com/optimization/mip/mip
  • [24] https://aihub.cloud.google.com/u/0/p/products%2F03a54ca4-f9ba-489b-bbb3-b6ca8c22c5cf
  • [25] https://projects.coin-or.org/Cbc.......................
  • [26] https://www.gnu.org/software/glpk/.......................
  • [27] https://en.wikipedia.org/wiki/GNU_Linear_Programming_Kit
  • [28] https://www.scipopt.org/.......................
  • [29] http://aixia2015.unife.it/wp-content/uploads/slides/invited/Perron-OR_at_Google.pdf
  • [30] http://aixia2015.unife.it/wp-content/uploads/slides/invited/Perron-OR_at_Google.pdf