Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Introduction to Optimization

LabVIEW 8.5 Help
August 2007

NI Part Number:
371361D-01

»View Product Info

The optimization process either minimizes or maximizes the objective function f(x) until reaching the optimal value for f(x). When minimizing f(x), the optimal solution satisfies the following condition.

(A)

The optimization process searches for the value of x* that minimizes f(x), subject to the constraint , where X is the constraint set. A value that satisfies the conditions defined in Equation A is a global minimum.

In the case of maximization, x* satisfies the following condition.

(B)

A value satisfying the preceding condition is a global maximum.

Constraints on the Objective Function

The presence and structure of any constraints on the value of f(x) influence the selection of the algorithm you use to solve an optimization problem. Certain algorithms solve only unconstrained optimization problems. If the value of f(x) has any of the following constraints, the optimal value of f(x) must satisfy the condition the constraint defines:

  • Equality constraints, such as Gi(x) = 4(i = 1, …, me)
  • Inequality constraints, such as Gi(x) ≤ 4(i = me + 1, …, m)
  • Lower and upper level boundaries, such as xl, xu
Note  Currently, LabVIEW does not include VIs you can use to solve optimization problems in which the value of the objective function has constraints.

Linear and Nonlinear Programming Problems

The most common method of categorizing optimization problems is as either a linear programming problem or a nonlinear programming problem. In addition to constraints on the value of f(x), whether an optimization problem is linear or nonlinear influences the selection of the algorithm you use to solve the problem.

Note  In the context of optimization, the term programming does not refer to computer programming. Programming also refers to scheduling or planning. Linear and nonlinear programming are subsets of mathematical programming. The objective of mathematical programming is the same as optimization—maximizing or minimizing f(x).

Discrete Optimization Problems

Linear programming problems are discrete optimization problems. A finite solution set X and a combinatorial nature characterize discrete optimization problems. A combinatorial nature refers to the fact that several solutions to the problem exist. Each solution to the problem consists of a different combination of parameters. However, at least one optimal solution exists. Planning a route to several destinations so you travel the minimum distance typifies a combinatorial optimization problem.

Continuous Optimization Problems

Nonlinear programming problems are continuous optimization problems. An infinite and continuous set X characterizes continuous optimization problems.

Solving Problems Iteratively

Algorithms for solving optimization problems use an iterative process. Beginning at a user-specified starting point, the algorithms establish a search direction. Each iteration of the algorithm proceeds along the search direction to the optimal solution by solving subproblems. Finding the optimal solution terminates the iterative process of the algorithm.

As the number of design variables increases, the complexity of the optimization problem increases. As problem complexity increases, computational overhead increases due to the size and number of subproblems the optimization algorithm must solve to find the optimal solution. Because of the computational overhead associated with highly complex problems, consider limiting the number of iterations allocated to find the optimal solution. Use the accuracy input of the Optimization VIs to specify the accuracy of the optimal solution.

Note  You can use the Optimization VIs only in the LabVIEW Full and Professional Development Systems.

Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit