## Translating a real-world problem into a mathematical model – and then back again…

What does “mathematical modelling” actually mean? The Dutch mathematician Sjoerd W. Rienstradescribes mathematical modeling as follows:

„Describing a real-world problem in a mathematical way by what is called a model, such that it becomes possible to deploy mathematical tools for its solution. The accuracy of the description should be limited, in order to make the model not unnecessary complex. The model should be based on first principles and elementary relations, such that it has reasonable claims to predict both quantitative and qualitative aspects of the solution.”

We use mathematics to solve real-world problems. “What is the best way to schedule our machine utilization?” is a question often heard in production planning or: “What site expansion is the most feasible?” in investment planning. Mathematical support is required to provide answers to questions like these.

So the challenge in modeling is to translate a real-world problem into the language of mathematics in order to first receive a mathematical problem that can be solved by a mathematical method. The mathematical solution then has to be re-translated into a real-world solution once again – and tested on the real-world problem.

Here, however, the accuracy of the description should be confined to the basics so that the model does not become unnecessarily complex. In order to make reasonable prognoses with regard to quantity and quality, the model should be created with basic data and relations. These, in turn, should be based on past experience.

### A (brief) overview of the history of OPTANO MODELING

Unfortunately, the mathematical programming languages/matrix generators available didn’t always attain the desired performance and, on top of that, seamless integration into enterprise- capable applications proved hard to implement. So, in 2006, we began to develop a modeling system according to our own requirements. This was done within the framework of a research project – initially called “Optimization.Framework.”. In 2011, this was published on nuget.org and in 2016 it was rebranded as OPTANO Modeling.

And because numbers can also tell a story, here are one or two extra facts for you: To date (July 2017) Optimization.Framework has been installed 31,000 times; OPTANO Modeling more than 1000 times since it was first published on 1st November 2016.

### OPTANO Modeling for developers

OPTANO Modeling is a .net API, created by software developers who have built hundreds of optimization applications. It meets the requirements of software developers and, in this respect, is different to other modeling systems which had originally been created for mathematicians. The software developer merely defines what the outcome is. Implementation is then automatic and this is how modeling becomes part of the software. And whoever speaks c# doesn’t need to learn a new programming language.

### OPTANO Modeling for OR experts

Every day, software developers and OR experts work with and alongside one another in the ORCONOMY team. The developers write their software in “their” .net ecosystem which has a smart development environment and great tools like versioning, automatic testing, step-by-step analysis and so on.

And the OR experts? Well, they wanted all that as well! Yet another good reason for us to continue to develop and optimize OPTANO Modeling. You can integrate OPTANO Modeling into your own work easily and because it has a comprehensible API and no complicated mappings, whether you’re a software developer or an OR expert – everybody is happy. That’s why there’s no need for our OR experts to envy the developers’software any longer: Whatever the .net ecosystem can do, OPTANO Modeling can do it, too.

Is OPTANO Modeling usable on multiple platforms?  Sure! OPTANO Modeling is usable on all .net platforms (Windows, Linux and Mac).

Does OPTANO Modeling enable a free choice  of solver? You can deploy free solvers such as GLPK and MipCL  but also commercial ones, of course, like Gurobi, CPLEX and Xpress. And, where possible, OPTANO Modeling complements the features of the individual solvers so that they can all have a standardized utilization/can all be used in the same way.

Is OPTANO Modeling up-to-date? Yes – thanks to LINQ, a language element of c#. Deploying LINQ-Statements with OPTANO modeling makes models very readable, produces a fast code and increases maintainability. Sounds cool, doesn’t it?

Can you debug with OPTANO Modeling? For software developers, it goes without saying that they view the running of their software step-by-step. This usually isn’t the case in mathematical programming. But, unlike other modelling systems, OPTANO Modeling isn’t a black box.

What about testing with with OPTANO Modeling? No problem! In modeling, the quality of the results has top priority. Software developers have a wide repertoire of test methods and supporting software at their disposal. These can also be used to check the quality of the optimization software. So unlike other modeling systems, tests with OPTANO Modeling are a matter of course. They can be automated and repeated as desired and thus guarantee high quality

.

All part of the service…

The following actually goes without saying but we should mention it all the same:

• Versioning–  Tracks changes easily
• Optimizes and builds data structures simultaneously via Multi-threading
• Code Completion –  a great help for fast programming
•  Asynchronous programming
•  Imports the existing model

Have we now convinced you of just how good OPTANO Modeling is? If not, here it is again in brief : The .net software development, with all the above-mentioned advantages, saves a lot of time and it can also be integrated seamlessly into enterprise-capable applications!

And our OR experts and software developers think working with OPTANO modeling is a really cool thing to do!

1 Sjoerd W. Rienstra: http://www.win.tue.nl/~sjoerdr/