## Mathematical modeling

Mathematical modeling is the basis of all engineering work. Mathematical modeling is characterized by three concepts:

- The presence of choice, to be made among a finite set (notion that can be compared to the theory of probabilities)
- A principle of constraints defining the finite set of choices
- A principle of evaluating the available choices

## Mathematical modeling of a problem

The four stages of mathematical modeling of an industrial problem are as follows:

**What are the data of the problem?**collect the data of the problem, understand the problem;**How to model the problem?**the three points of decision supportselect / place objects, define an order or quantity, choose an event, perform a particular operation;**What decisions do we have to make?**respect capacities or constraints of precedence;**What are the constraints of the problem?**maximize profit, minimize costs or quantity;*What is the objective sought?*

**How complex is this problem?**polynomial, Np, Np-difficult;**How to solve the problem ?**design algorithms (exact vs approximate) giving feasible / optimal solutions, develop alternative or hybrid methods

Depending on the mathematical modeling, the model can also serve as a simulation. It is then possible to see the impact of certain decisions in a context different from that studied (such as the study of the sensitivity of the simplex).

## Decision making and mathematical modeling

Decision making during mathematical modeling involves three major phases followed by the validation phase:

**Collecting information**: Examine and identify the problem (variables, functions, values, etc.).: Identification of organized goals and objectives related to a problem. To determine if a problem exists, identify its symptoms, determine their extent, and define it explicitly. Some problems may arise during data collection and estimation like lack of data, imprecise or inaccurate data, poor estimation, information overload, simulated data, etc.*Identifying the problem*: The classification of the problem is the placement of a problem in a definable category. This leads to a standardized solution approach.**Classification of the problem**: Many complex problems can be divided into subproblems. Some unstructured problems can have very structured subproblems.**Breakdown of problems**

**Design**: Build a model that represents the system.: Modeling involves the abstraction of the problem in quantitative and / or qualitative forms.*Understand the problem*: For a mathematical model, the variables are identified and the relationships between them are established. All models are made up of three basic components: decision variables, uncontrollable variables and outcome variables. Mathematical relationships tie these components together. In a non-quantitative model, the relationships are symbolic or qualitative.*A model is built, tested and validated*

**Choice**: To select a solution to the model.: When the problem is solved, a solution is chosen based on the model. This is recommended for all solutions.*Recommendation of a solution*: Evaluation is possible if the outcome variables give a quantitative solution. A preference relation over the whole solution gives an order: f (a) ⪯ f (b) means that f (b) is better or equal to f (a) where a, b are variables and f (. ) is a mathematical function based on the result variables. b is the best solution iff: f (x) ⪯f (b) for all x in the set of the solution.*Evaluating a solution*

**Implementation**: Implement software to solve any instance of mathematical modeling.: Iterative algorithms use repetitive constructions like loops and sometimes additional data structures like stacks to solve given problems.**Classic / iterative implementation**: A recursive algorithm is an algorithm that references itself repeatedly until a termination condition matches.**Recursion**: a logic algorithm is composed of a logic component and a control component.**Logic**: deterministic algorithms solve the problem with an exact decision at each step of the algorithm, while non-deterministic algorithms solve the problems by "guessing". A deterministic algorithm is an algorithm which, given a particular input, will always produce the same output.**Deterministic or non-deterministic**: While many algorithms reach an exact solution, approximation algorithms seek an approximation that is close to the true solution. When it is not possible to find the best solution in human time, we can look for a solution approximated by less complex algorithms.**Exact or approximate**: these implementations depend on the computer architectures, that is to say on the number of processors which can work on a problem at the same time, and on how to break down the whole process into independent processes.**Serial, parallel or distributed**: Brute force; Divide and conquer; Dynamic programming; To look for; Randomized; Reduction. Next, we need to check the termination, correctness, and completeness of the algorithm.**Paradigm**

**Validation**: To validate the software if it presents a reasonable computation time and a good solution.: This is the complexity to solve the problem for the best input of size n.**The complexity of the best case**: This is the complexity to solve the problem for the worst entry of size n.**The complexity of the worst case**: It is the complexity to solve the problem on average. This complexity is only defined with respect to a probability distribution on the inputs. For example, if all entries of the same size are assumed to be equally likely to appear, the average complexity of the cases can be defined relative to the uniform distribution over all entries of size n.**Average complexity of cases**

The following diagram shows the mathematical modeling process: