Nonlinear programming is one of the components of mathematical programming

Nonlinear programming is part of mathematical programming in which a nonlinear function is represented by certain constraints or an objective function. The main task of nonlinear programming is to find the optimal value of a given objective function with a certain number of parameters and restrictions.

Nonlinear programming tasks differ from linear ones in the content of the optimal result, not only within an area that has certain limitations, but also beyond it. These types of tasks include those mathematical programming tasks that can be represented by both equalities and inequalities.

Nonlinear programming is classified depending on the variety of the function F (x), the constraint function, and the dimension of the solution vector x. So, the name of the task depends on the number of variables. When using a single variable, nonlinear programming can be performed using unconditional one-parameter optimization. With the number of variables over one, unconditional multi-parameter optimization can be used.

To solve linearity problems, standard linear programming methods are used (for example, the simplex method). But with a nonlinear general solution, there is no solution, it selects its own in each case and it also depends on the function F (x).

Nonlinear programming is quite common in everyday life. For example, this is a disproportionate increase in costs to the number of goods produced or purchased.

Sometimes, to find the optimal solution in nonlinear programming problems, they try to approximate linear problems. An example is quadratic programming, in which the function F (x) is represented by a polynomial of the second degree with respect to variables, while linearity of constraints is observed. The second example is the use of the penalty function method, the use of which, subject to certain restrictions, reduces the task of searching for an extremum to a similar procedure without such restrictions, which is much easier to solve.

However, if we analyze as a whole, then nonlinear programming is a solution to problems of increased computational complexity. Very often, during their solution, it is necessary to use approximate optimization methods. Another powerful tool that can be proposed for solving this type of problem is numerical methods to find the right solution with a given accuracy.

As mentioned above, non-linear programming requires an individual special approach, which should take into account its specificity.

The following non-linear programming methods are available:

- Gradient methods based on the property of a functional gradient at a point. In other words, this is a partial derivative vector calculated at a point taken as a pointer to the direction of the greatest increase in the function in the vicinity of this point.

- The Monte Carlo method, which determines the parallelepiped of the nth dimension, which includes many plans, for the subsequent simulation of random N-points with a uniform distribution in this parallelepiped.

- The method of dynamic programming is reduced to a multidimensional task of optimizing tasks to a smaller dimension.

- The convex programming method is implemented in the search for the minimum value of the convex function or the maximum value of the concave on the convex part of the set of plans. In the case where the set of plans is a convex polyhedron, then the simplex method can be applied .

Source: https://habr.com/ru/post/K9789/


All Articles