robot de la enciclopedia para niños

Programación no lineal para niños

Enciclopedia para niños

En matemáticas, programación no lineal (PNL) es el proceso de resolución de un sistema de igualdades y desigualdades sujetas a un conjunto de restricciones sobre un conjunto de variables reales desconocidas, con una función objetivo a maximizar (o minimizar), cuando alguna de las restricciones o la función objetivo no son lineales.

Formulación matemática del problema

El problema de programación no lineal puede enunciarse de una forma muy simple:

\max_{x \in X}f(x) maximizar una función objetivo

o

\min_{x \in X}f(x) minimizar una función objetivo (de coste)

donde

f: R^n \to R
X \subseteq R^n.

Métodos de resolución del problema

Si la función objetivo f es lineal y el espacio restringido es un politopo, el problema es de programación lineal y puede resolverse utilizando alguno de los bien conocidos algoritmos de programación lineal.

Si la función objetivo es cóncava (problema de maximización), o convexa (problema de minimización) y el conjunto de restricciones es convexo, entonces se puede utilizar el método general de optimización convexa.

Existe una variedad de métodos para resolver problemas no convexos. Uno de ellos consiste en utilizar formulaciones especiales de problemas de programación lineal. Otro método implica el uso de técnicas de Ramificación y poda, cuando el problema se divide en subdivisiones a resolver mediante aproximaciones que forman un límite inferior del coste total en cada subdivisión. Mediante subdivisiones sucesivas, se obtendrá una solución cuyo coste es igual o inferior que el mejor límite inferior obtenido por alguna de las soluciones aproximadas. Esta solución es óptima, aunque posiblemente no sea única. El algoritmo puede ser parado antes, con la garantía de que la mejor solución será mejor que la solución encontrada en un porcentaje acotado. Ello se utiliza en concreto en problemas importantes y especialmente difíciles y cuando el problema cuenta con costes inciertos o valores donde la incertidumbre puede ser estimada en un grado de fiabilidad apropiado.

Las condiciones de Karush-Kuhn-Tucker proporcionan las condiciones necesarias para que una solución sea óptima.

Ejemplos

Ejemplo bidimensional

Archivo:Nonlinear programming jaredwf
La intersección de la línea con el espacio de restricciones representa la solución.

Un problema sencillo puede definirse por las restricciones:

x1 ≥ 0
x2 ≥ 0
x12 + x22 ≥ 1
x12 + x22 ≤ 2

con una función objetivo a ser maximizada

f(x) = x1 + x2

donde x = (x1, x2)

Ejemplo tridimensional

Archivo:Nonlinear programming 3D jaredwf
La intersección de la superficie superior con el espacio de restricciones en el centro representa la solución.

Otro problema simple se define por la restricciones:x12x22 + x32 ≤ 2

x12 + x22 + x32 ≤ 10

con una función objetivo a ser maximizada

f(x) = x1x2 + x2x3

donde x = (x1, x2, x3)

Véase también

Kids robot.svg En inglés: Nonlinear programming Facts for Kids

kids search engine
Programación no lineal para Niños. Enciclopedia Kiddle.