Optimization helps you find the best result that brings profit, reduces costs, or sets a parameter that causes business process failures.
This process is also called mathematical programming. It solves the problem of determining the distribution of limited resources necessary to achieve the goal set by the head of the optimization problem. Of all the possible options, it is desirable to find the one that maximizes (or reduces) the controlling parameter, for example, profit or cost. Optimization models are also called prescriptive or normative because they seek to find a feasible strategy for the business.
Development history
Linear programming (LP) works with a class of optimization problems where all constraints are linear.
Presenting a brief history of the development of LP:
- In 1762, Lagrange solved simple optimization problems with equality constraints.
- In 1820, Gauss decidedlinear system of equations using elimination.
- In 1866, Wilhelm Jordan perfected the method of finding least squares errors as a fit criterion. This is now called the Gauss-Jordan method.
- The digital computer appeared in 1945.
- Danzig invented simplex methods in 1947.
- In 1968, Fiacco and McCormick introduced the Inside Point method.
- In 1984, Karmarkar applied the interior method to solve linear programs, adding his innovative analysis.
LP has proven to be an extremely powerful tool both for modeling real-world problems and as a widely applied mathematical theory. However, many interesting optimization problems are non-linear.
What to do in this case? The study of such problems involves a varied mixture of linear algebra, multivariate calculus, numerical analysis, and computational methods. Scientists are developing computational algorithms, including interior point methods for linear programming, geometry, analysis of convex sets and functions, and the study of specially structured problems such as quadratic programming.
Nonlinear optimization provides a fundamental understanding of mathematical analysis and is widely used in various fields such as engineering, regression analysis, resource management, geophysical exploration and economics.
Classification of optimization problems
An important step inThe optimization process is the classification of models, since their solution algorithms are adapted to a particular type.
1. Problems with discrete and continuous optimization. Some models make sense only if the variables take values from a discrete subset of integers. Others contain data that can take on any real value. They are usually easier to solve. Improvements in algorithms, combined with advances in computer technology, have dramatically increased the size and complexity of a linear programming optimization problem.
2. Unlimited and limited optimization. Another important difference is tasks where there is no constraint on variables. It can range widely from simple estimators to systems of equalities and inequalities that model complex relationships between data. Such optimization problems can be further classified according to the nature of the functions (linear and non-linear, convex and smooth, differentiable and non-differentiable).
3. Feasibility tasks. Their goal is to find variable values that satisfy model constraints without any specific optimization goal.
4. Complementarity tasks. They are widely used in technology and economics. The goal is to find a solution that satisfies the complementarity conditions. In practice, tasks with several goals are often reformulated into single objective ones.
5. Deterministic versus stochastic optimization. Deterministic optimization assumes that the data forassignments are completely accurate. However, on many topical issues they cannot be known for a number of reasons.
The first has to do with a simple measurement error. The second reason is more fundamental. It lies in the fact that some data represents information about the future, for example, the demand for a product or the price for a future period of time. When optimizing under stochastic optimization conditions, uncertainty is included in the model.
Main Components
The objective function is the one to be minimized or maximized. Most types of optimization problems have one objective function. If not, they can often be reformulated to work.
Two exceptions to this rule:
1. Target search task. In most business applications, the manager wants to achieve a specific goal while satisfying model constraints. The user does not particularly want to optimize something, so it makes no sense to define an objective function. This type is commonly referred to as a satisfiability problem.
2. Lots of objective features. Often, a user would like to optimize several different goals at once. They are usually incompatible. Variables that optimize for one goal may not be the best for others.
Component types:
- A controlled input is a set of decision variables that affect the value of an objective function. In a production task, variables may include the distribution of the various available resources or the labor required toeach action.
- Constraints are relationships between decision variables and parameters. For a production problem, it does not make sense to spend a lot of time on any activity, so limit all "temporary" variables.
- Possible and optimal solutions. The value of the decision for variables, under which all constraints are satisfied, is called satisfiable. Most algorithms first find it, then try to improve it. Finally, they change variables to move from one feasible solution to another. This process is repeated until the objective function reaches its maximum or minimum. This result is called the optimal solution.
Algorithms of optimization problems developed for the following mathematical programs are widely used:
- Convex.
- Separable.
- Quadratic.
- Geometric.
Google Linear Solvers
Linear optimization or programming is the name given to the computational process of optimally solving a problem. It is modeled as a set of linear relationships that arise in many scientific and engineering disciplines.
Google offers three ways to solve linear optimization problems:
- Glop open source library.
- Linear Optimization add-on for Google Sheets.
- Linear Optimization Service in Google Apps Script.
Glop is built into Googlelinear solver. It is available in open source. You can access Glop through the OR-Tools linear solver wrapper, which is a wrapper for Glop.
The Linear Optimization Module for Google Sheets allows you to perform a linear formulation of an optimization problem by entering data into a spreadsheet.
Quadratic programming
The Premium Solver platform uses an extended LP/Quadratic version of the Simplex method with LP and QP task processing limits of up to 2000 decision variables.
SQP Solver for large-scale problems uses a modern implementation of the active set method with sparseness to solve quadratic programming (QP) problems. The XPRESS Solver engine uses a natural extension of the Interior Point or Newton Barrier method to solve QP problems.
MOSEK Solver applies embedded "Inside Point" and auto-dual methods. This is especially effective for loosely coupled QP problems. It can also solve the Scale Quadratic Constraint (QCP) and Second Order Cone Programming (SOCP) problems.
Multi-operation calculations
They are quite successfully used with the use of Microsoft Office features, for example, solving optimization problems in Excel.
In the above table, the symbols are:
- K1 - K6 - customers who need to provide goods.
- S1 - S6 are potential production sites that could be built for this. Can be created1, 2, 3, 4, 5 or all 6 locations.
There are fixed costs for each facility listed in column I (Fix).
If the location doesn't change anything, it won't count. Then there will be no fixed costs.
Identify potential locations to get the lowest cost.
In these conditions, the location is either established or not. These two states are: "TRUE - FALSE" or "1 - 0". There are six states for six locations, for example, 000001 is set to only the sixth, 111111 is set to all.
In the binary number system, there are exactly 63 different options from 000001 (1) to 111111 (63).
L2-L64 should now read {=MULTIPLE OPERATION (K1)}, these are the results of all alternative solutions. Then the minimum value is=Min (L) and the corresponding alternative is INDEX (K).
CPLEX Integer Programming
Sometimes a linear relationship is not enough to get to the heart of a business problem. This is especially true when decisions involve discrete choices, such as whether or not to open a warehouse in a certain location. In these situations, integer programming must be used.
If the problem involves both discrete and continuous choices, it's a mixed integer program. It can have linear, convex quadratic problems and the same second order constraints.
Integer programs are much more complex than linear programs, but they have important business applications. SoftwareThe CPLEX software uses complex mathematical methods to solve integer problems. His methods involve systematically searching for possible combinations of discrete variables using linear or quadratic software relaxations to compute bounds on the value of the optimal solution.
They also use LP and other optimization problem solving methods to compute constraints.
Standard Microsoft Excel Solver
This technology uses the basic implementation of the main Simplex method to solve LP problems. It is limited to 200 variables. "Premium Solver" uses an improved primary simplex method with double-sided bounds for variables. The Premium Solver platform uses an extended version of the LP/Quadratic Simplex Solver to solve an optimization problem with up to 2000 decision variables.
Large-scale LP for the Premium Solver Platform applies a state-of-the-art implementation of the simple and double simplex method, which uses sparsity in the LP model to save time and memory, advanced strategies for updating and refactoring matrices, multiple and partial pricing and rotations, and for overcoming degeneration. This engine is available in three versions (capable of handling up to 8,000, 32,000, or unlimited variables and limits).
MOSEK Solver includes primary and dual simplex, a method that also exploits sparsity and uses advanced strategies for matrix updating and "refactorization". It solves problems of unlimited size, wastested on linear programming problems with millions of decision variables.
Step by step example in EXCEL
To define the optimization problem model in Excel, perform the following steps:
- Organize the data for the problem in a spreadsheet in a logical form.
- Select a cell to store each variable.
- Create in the cell a formula for calculating the target mathematical model of the optimization problem.
- Create formulas to calculate the left side of each constraint.
- Use dialogs in Excel to tell Solver about decision variables, targets, constraints, and desired bounds on those parameters.
- Run "Solver" to find the optimal solution.
- Create an Excel sheet.
- Organize the data for the problem in Excel, where the formula for the objective function and constraint is calculated.
In the above table, cells B4, C4, D4, and E4 have been reserved to represent decision variables X 1, X 2, X 3, and X 4. Decision examples:
- The product mix model ($450, $1150, $800, and $400 profit per product) was entered in cells B5, C5, D5, and E5, respectively. This allows the target to be computed in F5=B5B4 + C5C4 + D5D4 + E5E4 or F5:=SUMPRODUCT (B5: E5, B4: E4).
- In B8, enter the amount of resources needed to manufacture each type of product.
- Formula for F8:=SUMPRODUCT(B8:E8, $B$4:$E$4).
- Copy thisformula in F9. Dollar signs in $B$4:$E$4 indicate that this cell range remains constant.
- In G8 enter the available amount of resources of each type, corresponding to the values of the restrictions on the right. This allows you to express them like this: F11<=G8: G11.
- This is equivalent to four limits F8<=G8, F9 <=G9, F10 <=G10 and F11=0
Fields of practical application of the method
Linear optimization has many practical applications as an example of an optimization problem:
A company can make several products with a known contribution margin. The production of a unit of each item requires a known amount of limited resources. The task is to create a production program to determine how much of each product should be produced so that the company's profit is maximized without violating resource constraints.
Mixing problems are the solution to optimization problems related to combining ingredients into the final product. An example of this is the problem of diet studied by George Dantzig in 1947. A number of raw materials such as oats, pork and sunflower oil are listed along with their nutritional content such as protein, fat, vitamin A and their price per kilogram. The challenge is to blend one or more end products from raw materials at the lowest possible cost while respecting the minimum and maximum limits for their nutritional value.
A classic application of a linear optimization problem is to determine routing for needstraffic in telecommunications or transport networks. At the same time, flows must be routed through the network in such a way that all traffic requirements are met without violating bandwidth conditions.
In mathematical theory, linear optimization can be used to compute optimal strategies in zero-sum games for two people. In this case, the probability distribution for each participant is calculated, which is the coefficient of random mixing of his strategies.
No successful business process in the world is possible without optimization. There are many optimization algorithms available. Some methods are only suitable for certain types of problems. It is important to be able to recognize their characteristics and select the appropriate solution method.