Está en la página 1de 17

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE TIJUANA

Carrera:

Nombre del Alumno:


Aranza Gutiérrez Mora
Cruz Eduardo Valadez Melendez
Materia:
Invetsigacion de operaciones
Unidad y Tema:
Unidad 3 | Síntesis de Capítulo 12 Programación no lineal
Grupo C
Horario:
13:00 a 14:00

Fecha: Tijuana, Baja California a 28 de noviembre 2021


DESARROLLO

1. PROGRAMACION NO LINEAL

Existen muchos tipos de programacion no lineal,dependera de las caracteristicas de las


funciones. Hay diferentes algoritmos que resolveran los distintos problemas.

Un 𝑝𝑟𝑜𝑏𝑙𝑒𝑚𝑎 𝑑𝑒 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎𝑐𝑖𝑜𝑛 𝑛𝑜 𝑙𝑖𝑛𝑒𝑎𝑙 consiste en encontrar 𝑥 = (𝑥1 , 𝑥2 , … 𝑥𝑛 ) para


maximizar 𝑓(𝑥), que esta sujeta a𝑔𝑖 , (𝑥) ≤ 𝑏𝑖′ , para 𝑖 = 1,2,3, … 𝑚, y 𝑥 ≥ 0, donde 𝑓(𝑥) y
𝑔𝑖 (𝑥) son funciones dades de n variables de decisión.

2. APLICACIONES DE MUESTRA

PROBLEMA DE MEZCLA DE PRODUCTOS CON ELASTICIDAD DE PRECIOS


Problemas de mezcla de productos la meta es determinar la mezcla óptima de los niveles de
elaboración de los productos de una empresa, con las limitaciones sobre los recursos que se
necesitan para manufacturarlos, tiene el objetivo de maximizar la ganancia total de la
empresa. A veces existe una ganancia unitaria fija que está asociada a cada producto, con lo
que la función objetivos se obtiene y es lineal. Pero a veces ciertos factores no lineales
existirán en la función objetivo.

EJEMPLO
Ilustración 1

Ejemplificando, un enorme fabricante puede descubrir elasticidad de costos, o sea, que la


proporción de un producto que se puede vender tiene interacción inversa con el costo que se
cobra por él. De esta forma, la curva precio-demanda de un producto puede parecerse a la
que se muest es ra en la figura.

• El precio que se necesita para vender es 𝑝(𝑥) unidades.


• Ingreso que generan las ventas son 𝑥𝑝(𝑥) menos los costos de elboracion y
distribucion.

Por lo tanto el costo unitario de producir y distribuir el artículo está fijo en 𝑐 , la ganancia de la
empresa producir y vender 𝑥 unidades está dada por la 𝑓𝑢𝑛𝑐𝑖ó𝑛 𝑛𝑜 𝑙𝑖𝑛𝑒𝑎𝑙 ∶ 𝑃(𝑥) = 𝑥𝑝(𝑥) −
𝑐𝑥.
Ilustración 2

Productos de la empresa tiene una función de gran cada uno de los 𝑛 productos de la empresa
tiene una función de ganancia parecida, por lo que la función objetivo global es una suma de
funciones no lineales.
𝑛

𝑓(𝑥) = ∑ 𝑃𝑗 (𝑥𝑗 )
𝑗=𝑖

PROBLEMAS DE TRANSPORTE CON DESCUENTOS DE PRECIOS POR VOLUMEN DE


EMBARQUE
Una aplicación común del problema de transporte es decidir una estrategia óptimo para eludir
bienes a partir de diversos inicios hasta diversos destinos, dadas las limitaciones de recursos y
demanda, con el propósito de reducir el precio total de transporte.

A veces se dispone de descuentos por cantidad para volúmenes grandes con lo que el costo
marginal de enviar la unidad más puede seguir un patrón como el que se muestra a
contginuacion.
Ilustración 3
En consecuencia el costo que resulta de embarcar por unidades está dado por la función no
lineal 𝐶(𝑥) qué es una función lineal por partes com pendiente igual al costo marginal, como
se muestra a continuación.
Ilustración 4

Consecuencia, si cada combinación de origen y destino tiene una función de costo similar, es
decir, si el costo de enviar 𝑥𝑖𝑗 unidades del origen 𝑖(𝑖 = 1,2,3, … , 𝑚) al destino
𝑗(𝑗 = 1,2,3, … , 𝑛) está dado por la función no lineal 𝐶𝑖𝑗 (𝑥𝑖𝑗 ), entonces la función objetivo
global que se va minimizar es.
𝑚 𝑛

𝑓(𝑥) = ∑ ∑ 𝐶𝑖𝑗 (𝑥𝑖𝑗 )


𝑖=1 𝑗=1

Aún con esta función objetivo no lineal es normal que las restricciones sean del tipo lineales
especiales que se ajustan al modelo de problemas de transporte.

SELECCIÓN DE UNA CARTERA DE INVERSIONES RIESGOSAS


Actualmente, una práctica recurrente entre los administradores de gigantes carteras de
inversión es utilizar, como guía, modelos de PC basados en cierta forma en programación no
lineal. Que tienen peligro asociado con su inversión, la programación no lineal se emplea para
decidir una cartera que se basa en parte importante en la nueva indagación hecha por
𝐻𝑎𝑟𝑟𝑦 𝑀𝑎𝑟𝑘𝑜𝑤𝑖𝑡𝑧 𝑦 𝑊𝑖𝑙𝑙𝑖𝑎𝑚 𝑆ℎ𝑎𝑟𝑝𝑒.

3. PROBLEMAS DE APLICACIÓN NO LINEAL

Cuando un problema de programación no lineal tiene sólo una o dos variables, se puede
representar en forma gráfi ca de una manera muy parecida al ejemplo de la 𝑊𝑦𝑛𝑑𝑜𝑟 𝐺𝑙𝑎𝑠𝑠,
de programacion lineal.

El siguiente ejemplo tiene una restriccion no lineal 9𝑥12 + 5𝑥22 ≤ 216 en lugar de la segunda y

tercera restricción original.


Ilustración 5

La solución óptima sigue siendo (𝑥𝑖 , 𝑥2 ) = (2,6). La solución óptima pudo haber sido FEV con
una función objetivo diferente (𝑣𝑒𝑟𝑖𝑓𝑖 𝑞𝑢𝑒 𝑍 = 3𝑥1 + 𝑥2 ), pero el hecho de que no necesite
serlo significa que ya no se puede aprovechar la gran simplifi cación que se utiliza en
programación lineal que permite limitar la búsqueda de una solución óptima para las
soluciones FEV.
Supongamos que supongamos que 𝑍 = 54𝑥1 − 9𝑥12 + 78𝑥2 − 13𝑥22 , donde la solución
óptima es (𝑥1 , 𝑥2 ) = (3,3), que está dentro de la región factible. Por lo que es necesario que
un algoritmo general resuelva el problema de este tipo y tome en cuenta todas las soluciones
en la región factible y no sólo aquellas que están sobre la frontera.
Ilustración 6

Una complicación que surge de la programación no lineal es que un máximo local no


necesariamente es un máximo global. Esta función tiene
3 𝑚á𝑥𝑖𝑚𝑜𝑠 𝑙𝑜𝑐𝑎𝑙𝑒𝑠 , 𝑥 5 0, 𝑥 5 2 𝑦 𝑥 5 4, 𝑝𝑒𝑟𝑜 𝑠ó𝑙𝑜 𝑢𝑛𝑜 𝑑𝑒 é𝑠𝑡𝑜𝑠 , 𝑥 5 4, 𝑒𝑠 𝑢𝑛 𝑚á𝑥𝑖𝑚𝑜 𝑔𝑙𝑜𝑏𝑎𝑙
. Los algoritmos de programación no lineal pueden distinguir entre un máximo local y un
máximo global. Por lo tanto es crucial conocer las condiciones en las que se garantiza que el
máximo local es un máximo global en la región factible. Recordando que en el cálculo cuando
se maximiza una función ordinaria de una sola variable sin restricciones esta garantía está
𝜕2 𝑓
dada cuando: 𝜕𝑥 2 ≤ 0 para toda 𝑥.
Ilustración 7

Las funciones de variables múltiples también se pueden caracterizar como cóncavas o


convexas si su curvatura es siempre hacia abajo o hacia arriba. La siguiente es una forma
práctica de verificar esta característica en el caso de una función de más de 2 variables cuando
la función consiste en una suma de funciones más pequeñas cada una de sólo una o 2
variables. Si cada función más pequeña es cóncava entonces la función completa es cóncava.
De manera similar la función completa es convexa si cada función más pequeña es convexa.

4. TIPOS DE PROBLEMAS DE APLICACIÓN NO LINEAL

Estos tipos de problemas se pueden mostrar de muchas formas distintas. Diferente el método
simplex para la programación lineal no dispone de un algoritmo que resuelva todos estos tipos
de especiales problemas. Sino que se han desarrollado algoritmos para algunas clases de
problemas de programación no lineal.

OPTIMIZACIÓN NO RESTRINGIDA
Estos no tienen restricciones, entonces la función objetivo es sencillamente 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑓(𝑥)
sobre todos los valores de x. La condición necesaria para que una solución específica de x sea
óptima es una función diferenciable.
𝜕𝑓
= 0 𝑒𝑛 𝑥 = 𝑥 ∗ , 𝑝𝑎𝑟𝑎 𝑗 = 1,2, … , 𝑛.
𝜕𝑥𝑗

Cuendo 𝑓(𝑥) es cóncava la condición también es suficiente, por lo que se obtenga de 𝑥 ∗ se


reduce a resolver el sistema de las n ecuaciones que obtuvieron al estar en la n derivadas
parciales iguales a cero. Cuando se trata de funciones no lineales 𝑓(𝑥) las ecuaciones también
suelen ser no lineales en este caso es poco probable que se pueda obtener una solución
analítica simultánea. Lo que se puede hacer es pero sedimentos algorítmicos de búsqueda
para encontrar 𝑥, primero para 𝑛 = 1 y luego para números mayores de uno.

Cuando 𝑥𝑖 tiene una restriccion de no negatividad, 𝑥𝑗 ≥ 0, la condición necesaria y tal vez



𝜕𝑓 ≤ 0 𝑝𝑎𝑟𝑎 𝑥 = 𝑥 ∗, 𝑠𝑖 𝑥𝑗 = 0
suficiente anterior, cambia ligeramente a 𝜕𝑥 { ∗ } para cada 𝑗 de
𝑗 = 0 𝑝𝑎𝑟𝑎 𝑥 = 𝑥 ∗, 𝑠𝑖 𝑥𝑗 > 0

este tipo.
Ilustración 8

La solución óptima de un problema con una sola variable es x igual a cero aún cuando la
derivada ahí es negativa y no cero. Como el ejemplo visto tiene una función cóncava para
maximizar sujeta a una restricción de no negatividad, su derivada será menor o igual a cero en
𝑥 igual a cero, es una condición necesaria y suficiente para que 𝑥 sea igual a cero y sea óptima.
Un problema que tiene algunas restricciones de no negatividad y que no tiene restricciones

funcionales es un caso especial (𝑚 = 0) de la siguiente clase de problemas.

OPTIMIZACIÓN RESTRINGIDA LINEALMENTE


Estos se caracterizan por restricciones que se ajustan por completo a la programación lineal,
de manera que todas las funciones de restricción son lineales pero la función objetivo no lo es.
Este problema se simplifica notablemente si se tiene que tomar en cuenta una función no
lineal junto con una región factible de programación lineal. Se desarrollaron varios algoritmos
especiales basados en una extensión del método simple para analizar la función del objetivo
no lineal.

PROGRAMACIÓN CUADRÁTICA
Estas tienen restricciones lineales, ahora son objetivo puede ser cuadrática. Entonces la única
diferencia entre esto y un problema de programación lineal es que algunos términos de la
función objetivo incluyen el cuadrado de una variable a un producto de dos variables. Se han
desarrollado muchos algoritmos para manejar este caso, el supuesto adicional de que la
función objetivo es cóncava. La programación cuadrática es muy importante porque las
formulaciones de este tipo surgen de manera natural natural en muchas aplicaciones. Sin
embargo otra razón por la que es importante es que al resolver problemas generales de
optimización restringida literalmente se puede obtener la solución de una sucesión de
aproximaciones de programación cuadrática.

PROGRAMACIÓN CONVEXA
Esta abarca una amplia clase de problemas, entre los cuales, como casos especiales, se puede
mencionar todos los tipos anteriores cuando la función objetivo es una función cóncava que
debe maximizarse.

• La función objetivo es cóncava.


• Cada unas de las 𝑔𝑖 (𝑥) es concava.

Estos supuestos son suficientes para asegurar que un máximo local es un global

PROGRAMACIÓN SEPARABLE
Esta es un caso ese especial de la programación convexa, en donde el supuesto adicional es

• Todas las funciones de la función objetivo y 𝑔𝑖 (𝑥) son separables.

La función separable es una función que cada término incluye una sola variable por lo que la
función se puede separar en la suma de funciones de varias variables individuales.

PROGRAMACIÓN NO CONVEXA
Esto incluye todos los problemas de programación no lineal que no satisfacen los supuestos de
programación convexa. Aun cuando se tenga éxito en encontrar un máximo local, no hay una
garantía de que sea también un máximo global. Entonces no se cuenta con un algoritmo que
garantice encontrar una solución óptima para todos estos problemas, sin embargo existen
algunos algoritmos adecuados para encontrar máximos locales, en especial cuando las formas
de funciones no lineales no se desvían demasiado de aquellas de su uso para programación
convexa se pueden resolver sin muchas dificultades mediante métodos especiales.

PROGRAMACIÓN GEOMÉTRICA
Cuando se aplica programación de alinear a problemas de diseño de ingeniería, muchas veces
la función objetivo y las funciones de restricción toman la forma 𝑔(𝑥) = ∑𝑁
𝑖=1 𝐶𝑖 𝑃𝑖 (𝑥) donde
𝑎𝑖1 𝑎𝑖2 𝑎𝑖𝑛
𝑃𝑖 (𝑥) = 𝑥1 𝑥2 … 𝑥𝑛 , para 𝑖 = 1,2, … , 𝑁.

En estos casos, 𝐶𝑖 y 𝑎𝑖𝑗 con las frecuencias representan las constantes físicas mientras que XJ
son las variables de diseño estas funciones por lo general son no cónvexas, por lo que las
técnicas de programación convexa no se pueden aplicar en esta forma directa a estos
problemas de programación geométrica. Pero existe un caso importante en el que el problema
se puede transformar en un problema de programación convexa equivalente. Este caso es
donde todos los coeficientes 𝐶𝑖 de cada función son estrictamente positivos o sea las funciones
son polinomios positivos generalizados y la función objetivo se tiene que minimizar.

PROGRAMACIÓN FRACCIONAL
Este procedimiento de búsqueda siempre se puede aplicar cuando 𝑓(𝑥) es cóncava, la

segunda derivada sea negativa o cero para toda 𝑥, la segunda derivada sea negativa o cero
para toda 𝑥 ∗ es que
Ilustración 9

𝑑𝑓(𝑥)
• 𝑑𝑥
> 0 𝑠𝑖 𝑥 < 𝑥 ∗
𝑑𝑓(𝑥)
• = 0 𝑠𝑖 𝑥 < 𝑥 ∗
𝑑𝑥
𝑑𝑓(𝑥)
• 𝑑𝑥
< 0 𝑠𝑖 𝑥 < 𝑥 ∗

Estas condiciones se cumplen de manera automática si la función objetivo es cóncava y


también se pueden cumplir cuando la segunda derivada es positiva para algunos los valores de
x. La idea se viene del método de bisección, ya que es intuitiva si la mejora respectiva cae de
inmediato a la derecha o izquierda. De esta forma si la derivada evalúa en un valor particular
de x es positiva entonces x* debe ser mayor que dicha x de manera que ésta se convierte en
una cata inferior para las soluciones de prueba que deben considerarse de este punto en
adelante. De manera inversa si la derivada es negativa entonces x* debe ser menor que está x
por lo que ésta se convertirá en una cata superior. Después de que se han identificado ambos
tipos de cotas cada nueva solución de prueba seleccionada entre las cotas actuales
proporciona un intervalo más estrecho de Angulo de los 2 tipos con lo que reduce la búsqueda
de ahí en adelante. Cuando se usa una regla razonable para seleccionar cada solución de
prueba de esta forma la secuencia resultante de soluciones de prueba debe converger a x*.

Este proceso completo se resume a continuación dada la anotación:

• 𝑥 ′ = solución de prueba actual,


• 𝑥 = cota inferior actual para x*,
• Paso iniciar𝑥̅ = cota superior actual para x*,
• ∈= tolerancia del error de x*.

RESUMEN
1. Seleccione la tolerancia de error de x y encuentre la cota inferior actual para x y cota
superior a la actual para x iniciales por inspección o mediante la ubicación de
cualesquiera valores respectivos de x en los cuales ha derivado hacia positiva y
negativa.
a. Itera
2. Realice la regla de detención.

PROBLEMAS DE COMPLEMENTARIEDAD
Aunque el método de bisección es un procedimiento intuitivo y directo, tiene la desventaja de
que converge de una manera relativamente lenta hacia una solución óptima. Para reducir esta
tolerancia al error a menos de 0.0001 se requerirían otras siete iteraciones.

RESUMEN
1. Seleccionar ∈ encontrar la solucion de prueba inicial 𝑥𝑖 por inspeccion. Establecer 𝑖 =
1.
2. Iterar
a. Calcular 𝑓 ′ (𝑥𝑖 ) y 𝑓 ′′ (𝑥𝑖 )
𝑓′ (𝑥 )
b. Establecemos 𝑥𝑖+1 = 𝑥𝑖 − 𝑓′′ (𝑥𝑖 )
𝑖
3. Realizmos regla de detencion.

5. OBTIMIZACION RESTRINGIDA DE UNA VARIABLE

Existen varios procedimientos de busqueda para serolver estos problemas. Uno de estos “el
procedimiento de busqueda del gradiante”, este identifica y utiliza la direccion de mivimiento,
desde la solucion de prueba actual, maximiza a la taza actual se incrementa f(x). esta idea es
caracteristica central de muchos algoritmos que utilizan para llevar acabo una optimizacion
restringida.

METODO DE BISECCION
1. Elejimos ∈ y cualquier solucion de prueba inicial x’. Vaya a la regla de detencion.
2. Iteracion
𝑑𝑓(𝑥)
a. Evaluar 𝑑𝑥
para x=x’
𝑑𝑓(𝑥)
b. Evaluar 𝑑𝑥
≥ 0 redefina 𝑥=x’
𝑑𝑓(𝑥)
c. Evaluar 𝑑𝑥
≤ 0 redefina 𝑥=x’
𝑥+̇𝑥̅
d. Seleccionar una nueva 𝑥 ′ = 2
3. Realizmos regla de detencion.

6. OBTIMIZACION NO RESTRINGIDA DE VARIAS VARIABLES

Aquí La meta era alcanzar, en algún momento, un punto en el que la derivada fuera de cero. Ya
que se tienen inumerables direcciones hacia donde moverse, esto corresponde a las tasas de
proporcionales posibles donde las respectivas variables pueden variar.

PROCEDIMIENTO DE BUSQUEDA DE GRADIENTE


1. Paso inicial: Elija ∈ y cualquier solución de prueba inicial x’. Vaya a la regla de
detención.
2. Iteración:
a. Exprese 𝑓 (𝑥’ + 𝑡 ∇𝑓 (𝑥 ′ )) como una función de t al establecer 𝑥𝑗 = 𝑥 ′𝑗 +
𝜕𝑓
𝑡 (𝜕𝑥 ) , para j 1, 2, . . . , n, y después sustituya estas expresiones en f (x).
𝑗 𝑥=𝑥 ′
b. Utilizamos el procedimiento de busqueda en una dimension para encontrar t-
t* que maximiza 𝑓(𝑥 ′ + 𝑡∇𝑓(𝑥 ′ )) para 𝑡 ≥ 0.
c. Establezca 𝑥 ′ = 𝑥 ′ + 𝑡 ∗ ∇𝑓(𝑥 ′ ) despues pase a la reglas de detencion.
3. Realizmos regla de detencion

7. CONDICIONES DE KARUSH-KUHN-TUCKER (KKT) PARA OPTIMIZACIÓN


RESTRINGIDA

En las secciones anteriores se hicieron notar estas condiciones para optimización no


restringida, como se resume en los primeros dos renglones de la tabla 12.4. Al principio de la
sección 12.3 también se expusieron estas condiciones para la ligera extensión de optimización
no restringida cuando sólo se tienen restricciones de no negatividad. En el tercer renglón de la
tabla 12.4 se muestran estas condiciones. Como se indica en el último renglón de la tabla, las
condiciones para el caso general se llaman condiciones de Karush-Kuhn-Tucker (o condiciones
KKT), porque fueron desarrolladas de manera independiente por Karush y por Kuhn y Tucker
Su resultado básico se expresa en el siguiente teorema.
Ilustración 10

Suponga que 𝑓(𝑥), 𝑔1 (𝑥), 𝑔2 (𝑥), . . , . . 𝑔𝑚 (𝑥) Son funciones diferenciables que satisfacen
ciertas condiciones de regularidad. Entonces, 𝑋 ∗= (𝑥1 ∗, 𝑥2 ∗, . . , 𝑥𝑚 ∗)puede ser una solución
óptima para el problema de programación no lineal, sólo si existen m números u1,u2,..um, que
satisfagan todas las siguientes condiciones KKT:

En las condiciones 1, 2, 4 y 6, las ui corresponden a las variables duales de programación lineal


que tienen una interpretación económica comparable. En realidad, las ui surgieron de la
derivación matemática, como los multiplicadores de Lagrange. Las condiciones 3 y 5 sólo
ayudan a asegurar la factibilidad de la solución. Las otras condiciones eliminan la mayor parte
de las soluciones factibles como posibles candidatos para una solución óptima.

Debe hacerse notar que el cumplimiento de estas condiciones no garantiza que la solución sea
óptima. Como se resume en la última columna de la tabla 12.4, son necesarios ciertos
supuestos de convexidad adicionales para obtener esta garantía. Estos supuestos se
establecen de manera formal en la siguiente extensión del teorema.

EJEMPLO:
Maximizar 𝑓(𝑥) = l n(𝑥1 + 1) + 𝑥2 , sujeta a 2𝑥1 + 𝑥2 ≤ 3 y 𝑥1 ≥0, 𝑥2 ≥0,

donde ln denota el logaritmo natural. De esta forma, m=1 (una restricción funcional) y
𝑔1 (x) = 2𝑥1 + 𝑥2 , de manera que 𝑔1 (𝑥) es convexa. Aún más, es fácil verificar que 𝑓(𝑥) es
cóncava. Entonces se puede aplicar el corolario, por lo que cualquier solución que satisfaga las
condiciones KKT será en definitiva una solución óptima. Al aplicar las fórmulas en el teorema,
se obtienen las siguientes condiciones KKT para este ejemplo:
1
1. (𝑗 = 1). 𝑥 − 2𝑢 ≤ 10.
1
2. (𝑗 = 1). 𝑥1 (1𝑥1 ± 2𝑢1 ) = 0.
1. (𝑗 = 2). 1 − 𝑢1 ≤ 0.
2. (𝑗 = 2). 𝑥2 (1 − 𝑢1 ) = 0.
3. 2𝑥1 + 𝑥2 − 3 ≤ 0.
4. 𝑢1(2𝑥1 + 𝑥2 − 3) = 0.
5. 𝑥1 ≥ 0, 𝑥1 ≥ 0.
6. 𝑢1 ≥ 0.
A continuación se describen los pasos para resolver las condiciones KKT para este ejemplo.

1. 𝑢1 ≥1, de la condición 1(j=2).


𝑥1 ≥0, por la condición 5.
1
2. Por lo tanto 𝑥 − 2𝑢1 < 10.
1 +1
3. Por lo tanto, 𝑥1 =0, de la condición 2(𝑗 = 1).
4. 𝑢1 ≠ 0 𝑖𝑚𝑝𝑙𝑖𝑐𝑎 𝑞𝑢𝑒 2𝑥1 + 𝑥2 − 3 = 0, 𝑑𝑒 𝑙𝑎 𝑐𝑜𝑛𝑑𝑖𝑐𝑖ó𝑛 4.
5. 𝐿𝑜𝑠 𝑝𝑎𝑠𝑜𝑠 3 𝑦 4 𝑖𝑚𝑝𝑙𝑖𝑐𝑎𝑛 𝑞𝑢𝑒 𝑥2 = 3.
6. 𝑥2 ≠ 0 𝑖𝑚𝑝𝑙𝑖𝑐𝑎 𝑞𝑢𝑒 𝑢1 = 1, 𝑑𝑒 𝑙𝑎 𝑐𝑜𝑛𝑑𝑖𝑐𝑖ó𝑛 2(𝑗 = 1).
7. 𝐿𝑜𝑠 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑥1 = 0, 𝑦 𝑛𝑜 𝑣𝑖𝑜𝑙𝑎𝑛 𝑛𝑖𝑛𝑔𝑢𝑛𝑎 𝑐𝑜𝑛𝑑𝑖𝑐𝑖ó𝑛.
Por lo tanto, existe un número 𝑢1 = 1 tal que 𝑥1 = 0, 𝑥2 = 3 𝑦 𝑥1 = 1 satisfacen todas las
condiciones. En consecuencia, 𝑥 ∗ = (0,3) es una solución óptima para este problema.

8. PROGRAMACION CUADRATICA

Para concretar, primero considere el ejemplo anterior. A partir de la forma que se presentó en
la sección anterior, sus condiciones KKT son las siguientes.

1. (𝑗 = 1). 15 + 4𝑥2 − 4𝑥1 − 𝑢1 ≤ 0


2. (𝑗 = 1). 𝑥1 (15 + 4𝑥2 − 4𝑥1 − 𝑢1 ) = 0
1. (𝑗 = 2). 30 + 4𝑥1 − 8𝑥2 − 2𝑢1 ≤ 0
2. (𝑗 = 2). 𝑥2 ( 30 + 4𝑥1 − 8𝑥2 − 2𝑢1 ) = 0
3. 𝑥1 − 2𝑥2 − 30 ≤ 0
4. 𝑢1 ( 𝑥1 − 2𝑥2 − 30) = 0
5. 𝑥1 ≥ 0, 𝑥2 ≥ 0
6. 𝑢1 ≥ 0
Para poder expresar estas condiciones en una forma más conveniente, se mueven las
constantes de las condiciones 1( 𝑗 = 1), 1( 𝑗 = 2) 𝑦 3 al lado derecho y después se
introducen variables de holgura no negativas (denotadas por 𝑦1 , 𝑦2 𝑦 𝑣1 , respectivamente)
para convertir estas desigualdades en ecuaciones.
1(𝑗 = 1). −4𝑥1 + 4𝑥2 − 𝑢1 + 𝑦1 = −15
1(𝑗 = 2). 4𝑥1 + 8𝑥2 − 2𝑢1 + 𝑦2 = −30
3. 𝑥1 + 2𝑥2 + 𝑣1 = 30
Observe que la condición 2( 𝑗 = 1) se puede expresar ahora en forma simple como la
necesidad de que se cumpla una de las dos, 𝑥1 = 0 𝑜 𝑦1 = 0; esto es,
2(𝑗 = 1). 𝑥1 𝑦1 = 0.
Exactamente en la misma forma, las condiciones 2( 𝑗 = 2) y 4 se pueden sustituir por
2(𝑗 = 2). 𝑥2 𝑦2 = 0.
4. 𝑢1 𝑣1 = 0.
Para cada uno de estos tres pares las dos variables se llaman variables complementarias,
porque sólo una de las dos puede ser diferente de cero. Estas nuevas formas de las
condiciones 2(𝑗 = 1), 2(𝑗 = 2) y 4 se pueden combinar en una restricción,
𝑥1 𝑦1 + 𝑥2 𝑦2 + 𝑢1 𝑣1 = 0,
llamada restricción de complementariedad.
Después de multiplicar las ecuaciones de las condiciones 1(𝑗 = 1) 𝑦 1(𝑗 = 2) por – 1 para
obtener lados derechos no negativos, se obtiene la forma deseada del conjunto completo de
condiciones:
4𝑥1 − 4𝑥2 + 𝑢1 − 𝑦1 = 15
− 4𝑥1 − 8𝑥2 + 2𝑢1 − 𝑦2 = +30
𝑥1 + 2𝑥2 + 𝑣 = 30
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑢1 ≥ 0, 𝑦1 ≥ 0, 𝑦2 ≥ 0, 𝑣1 ≥ 0
𝑥1 𝑦1 + 𝑥2 𝑦2 + 𝑢1 𝑣1 = 0
Esta forma es en especial conveniente puesto que excepto por la restricción de
complementariedad, estas condiciones son restricciones de programación lineal.
En cualquier problema de programación cuadrática, sus condiciones KKT se pueden reducir de
la misma forma conveniente que contiene sólo restricciones de programación lineal y una
restricción de complementariedad.

9. PROGRAMACION SEPARABLE

Ahora se estudiará otra clase llamada programación separable, para la que se puede encontrar
una aproximación tan cercana como se quiera con un problema de programación lineal que
tiene un número mayor de variables. La programación separable supone que la función
objetivo 𝑓 (𝑥) es cóncava, todas las restricciones 𝑔𝑖(𝑥) son convexas y todas estas funciones
son funciones separables (lo que signifi ca que cada término incluye una sola variable). Sin
embargo, para simpli-fi car la presentación, esta sección se centra en el caso especial en el que
las funciones 𝑔𝑖(𝑥) convexas y separables, en realidad son funciones lineales como las de
programación lineal. En consecuencia, sólo la función objetivo requerirá un tratamiento
especial.

Las curvas cóncavas de la ganancia se presentan con mucha frecuencia. Por ejemplo, puede ser
posible vender una cantidad limitada de algún producto a un cierto precio y después una
cantidad adicional a un precio menor, y tal vez, otra cantidad adicional a un precio todavía
menor. Deigual manera, puede ser necesario comprar materias primas a fuentes cada vez más
costosas. Otra situación común es aquella en la que debe emplearse un proceso de producción
más caro, para aumentar la tasa de producción sobre cierta cantidad.

Este tipo de situaciones puede conducir a cualquiera de las curvas de ganancia que se mues-
tran en la fi gura 12.15. En el caso 1, la pendiente decrece por intervalos, de manera que
𝑓𝑗 (𝑥𝑗 ) es una función lineal por partes. En el caso 2, la pendiente puede decrecer en forma
continua al aumentar 𝑥𝑗 , de manera que 𝑓𝑗 (𝑥𝑗 ) es una funcióncóncava general. Cualquier
función de este tipo se puede aproximar tanto como se quiera por unafunción lineal por partes
y este tipo de aproximación se usa, según sea necesario, para problemas de programación
separable.
Ilustración 11

Ilustración 12

10. PROGRAMACION CONVEXA

En esta sección se presentarán de manera breve algunos tipos de enfoques que se utilizan para
resolver el problema general de programación convexa [donde la función objetivo 𝑓(𝑥) que se
debe maximizar es cóncava y las funciones de restricción 𝑔𝑖(𝑥) son convexas] y después se
presentará un ejemplo de un algoritmo para programación convexa. No existe un algoritmo
estándar único que se pueda usar siempre para resolver problemas de programación convexa.
Se han desarrollado muchos algoritmos diferentes, cada uno con ventajas desventajas, y la
investigación continúa activa en esta área. En términos generales, la mayor parte de estos
algoritmos cae dentro de alguna de las tres categorías siguientes.
Una categoría la constituyen los algoritmos de gradiente, en los que se modifi ca de alguna
manera el procedimiento de búsqueda del gradiente de la sección 12.5 para evitar que la
trayectoria de búsqueda penetre la frontera de restricción. Por ejemplo, un método popular es
el método de gradiente reducido generalizado (GRG). El Excel Solver emplea el método GRG
para resolver problemas de programación convexa. (Como se explica en la sección siguiente, el
Premium Solver también incluye una opción evolutiva que fue diseñada para tratar con
problemas de programación no convexa.)

La segunda categoría, los algoritmos secuenciales no restringidos, incluye los métodos de


función de fi nalización y de función barrera. Estos algoritmos convierten el problema de
optimiza- ción restringida original en una sucesión de problemas de optimización no
restringida cuyas solu-ciones óptimas convergen a la solución óptima del problema original.
Cada uno de estos problemas de optimización no restringida se puede resolver por medio del
procedimiento de búsqueda del gradiente de la sección 12.5. Esta conversión se logra al
incorporar las restricciones a una función de penalización (o función barrera) que se resta de la
función objetivo, con el fi n de imponer un castigo grande a la violación de cualquier restricción
—o aun al hecho de estar cerca de los lími-tes—. En la última parte de esta sección se
describirá un algoritmo de la década de 1960, llamado técnica de minimización no restringida
secuencial (o SUMT, por sus siglas en inglés), que fue pionero en esta categoría de algoritmos.
(SUMT también ayudó a motivar algunos de los métodos de punto interior para programación
lineal.)

La tercera categoría, los algoritmos de aproximación secuencial, incluye métodos de aproxi-


mación lineal y aproximación cuadrática. Estos algoritmos sustituyen la función objetivo no li-
neal por una sucesión de aproximaciones lineales o cuadráticas. Para problemas de
optimización linealmente restringidos, estas aproximaciones permiten la aplicación repetida
de los algoritmos de programación lineal o cuadrática. Este trabajo se logra mediante otro
análisis que conduce a una sucesión de soluciones que convergen a una solución óptima para
el problema original. Aunque estos algoritmos son adecuados en especial para problemas de
optimización linealmente restringida, algunos se pueden extender a problemas con funciones
de restricción no lineales, si se usan las aproximaciones lineales adecuadas.

11. PROGRAMACION NO CONVEXA

hay muchos tipos diferentes de problemas de programación no convexa. Algunos son mucho
más difíciles de resolver que otros.

Por ejemplo, un problema de maximización donde la función objetivo está cerca de ser
convexa por lo general es mucho más difícil de resolver que uno donde la función objetivo es
casi cóncava.

La meta de una gran parte de la investigación que se realiza en la actualidad es desarrollar


procedimientos efi cientes de optimización global para encontrar una solución óptima global
para diferentes tipos de problemas de programación no convexa, y se han hecho algunos
progresos.

Como ejemplo, LINDO Systems (cuyos procedimientos son LINDO, LINGO y What’s Best!) ha
incorporado un optimizador global en el solucionador avanzado que comparten algunos de sus
productos de software. En particular, LINGO y What’s Best! tienen una función de inicio
múltiple para generar de manera automática un número de puntos de inicio para su
solucionador de programación no lineal con el fi n de encontrar con rapidez una buena
situación. Si se selecciona la opción global,en seguida estos paquetes emplean el optimizador
global. Este optimizador convierte un problema de programación no convexa (incluso aquellos
cuya formulación involucra funciones lógicas como IF, AND, OR y NOT) en algunos
subproblemas que son solturas de programación convexa de partes del problema original.
Después se utiliza la técnica de ramifi cación y acotamiento para buscar de manera exhaustiva
entre los subproblemas. Una vez que el procedimiento llega a su terminación, se garantiza que
la función que se encuentre sea una solución óptima global. (La otra conclusión posible es que
el problema no tenga soluciones factibles.) La versión para estudiantes de este optimizador
global se incluye en la versión de LINGO que se proporciona en el sitio en internet de este
libro. Sin embargo, está limitado a problemas relativamente pequeños (con un máximo de
cinco variables). La versión profesional del optimizador global ha resuelto algunos problemas
mucho más grandes.

CONCLUCIONES

ARANZA GUTIERREZ MORA

Algunas veces es viable reformular las no linealidades para que se ajusten al formato de
programación lineal, como se puede hacer con los inconvenientes de programación separable.
A la inversa del caso del procedimiento simplex para programación lineal, no existe un
algoritmo eficiente que se logre usar para solucionar todos los problema de programación no
lineal. Por cierto, ciertos de dichos inconvenientes son imposibles de solucionar
satisfactoriamente por ningún procedimiento, empero se hicieron enormes progresos en
ciertas clases relevantes de inconvenientes que integran programación cuadrática,
programación convexa y ciertos tipos especiales de programación no convexa, Se dispone de
una extensa variedad de algoritmos que casi continuamente poseen un óptimo manejo en
dichos casos.

CRUZ EDUARDO VALADEZ

A veces es posible reformular las no linealidades para que se ajusten al formato de


programación lineal, como se puede hacer con los problemas de programación separable. De
hecho, ciertos de estos problemas no se pueden resolver satisfactoriamente por ningún
método, sin embargo se hicieron grandes progresos en ciertas clases importantes de
problemas que unen programación cuadrática, programación convexa y ciertos tipos
especiales de programación no convexa, Se dispone de una gran variedad de algoritmos que
casi constantemente tienen un buen desempeño en estos casos.

REFERENCIAS

Hillier, F. S. (2010). Introduccion a la investigacionn de operaciones. En F. S. Hillier,


Introduccion a la investigacionn de operaciones (págs. 496-544). Impreso en México:
MC GRAW HILL.

También podría gustarte