You are on page 1of 17

Universidad de Oriente

Núcleo Anzoátegui

Escuela de Ingeniería y Ciencias Aplicadas

Departamento de Computación y Sistemas

PROGRAMACIÓN GEOMÉTRICA

Bachilleres:

Campo, Andres CI 24.799.718

Carvajal, Hassan CI 24.849.178

Cermeño, Jesus CI 21.067.705

Cordova Catherine CI 20.994.781

Garcia, Solmayra CI 22.571.069

Barcelona, 5 de marzo de 2018


Índice

Contenido
Introducción....................................................................................................................................... 3
Programación geométrica................................................................................................................. 4
• Problema Geométrico No Restringido ................................................................................ 4
• Problema Geométrico Restringido ...................................................................................... 5
LINGO® ............................................................................................................................................ 5
Uso Básico de Lingo ........................................................................................................................ 6
Programación Geométrica Sin Restricciones ................................................................................. 9
Representación en el software Lingo 17.0 .................................................................................... 11
Programación Geométrica Con Restricciones .............................................................................. 11
Representación en el software Lingo 17.0 .................................................................................... 14
Conclusión.................................................................................................................................... 16
Bibliografía ...................................................................................................................................... 17
Introducción
Existen varios métodos para resolver problemas de programación no lineal, para la siguiente
investigación, profundizaremos en uno en particular; La Programación Geométrica. Para
conocer sus características, algoritmo de solución, tanto para casos donde existan
restricciones aplicadas al problema en cuestión, así como para aquellos que carezcan de
restricciones de ningún tipo.

Conocer herramientas tecnológicas que permiten el manejo más fácil de este método.
Ejemplificar mediante ejercicios como se ingresan los datos, variables que sean pertinentes
para la resolución de los problemas.

Entender la aplicación que se le puede dar a estos métodos en nuestra vida cotidiana, para
ver la importancia que puede tener la Programación geométrica en la formación de futuros
ingenieros de sistemas,
Programación geométrica
Cuando se aplica en la programación no lineal a problemas de diseño de la ingeniería, muchas
veces la función objetivo y las funciones de restricción toma la forma

𝑔(𝑥) = ∑ 𝐶𝐾 𝑃𝐾 (𝑋)
𝐾=1

Donde

𝑃(𝑥) = 𝑥1𝑎𝑘1 𝑥2𝑎𝑘2 … 𝑥𝑛𝑎𝑘𝑛 , 𝑘 = 1,2 … . 𝑁

En tales casos 𝐶𝐾 y 𝑎𝑘𝑛 con frecuencia representan las constantes físicas mientras que xj son
las variables de diseño. Estas funciones, por lo general no son ni cóncavas ni convexas, por
lo que las técnicas de programación convexas no se pueden aplicar en forma directa a los
problemas de programación geométrica. Sin embargo, existe un caso importante en el que el
problema se puede transformar en un problema de programación convexa equivalente. Este
caso es aquel en el que todos los coeficientes c¿ en cada función son estrictamente positivos,
es decir, las funciones son polinomios positivos generalizados (ahora llamados
posinomiales), y la función objetivo se tiene que minimizar. El problema equivalente de
programación convexa con variables de decisión yx, y2,…, yn se obtiene entonces al establecer

𝑥𝑗= 𝑒 𝑦𝑖 , para j=1,2,…, n

En todo el modelo original. Ahora se puede aplicar un algoritmo de programación convexa.


Se ha desarrollado otro procedimiento de solución para resolver estos problemas de progra-
mación posinomial, al igual que para problemas de programación geométrica de otros tipos.

• Problema Geométrico No Restringido


• Problema Geométrico Restringido

Se supone que ambos casos n,m y p son finitas, los exponentes no tienen
restricciones de signo, las funciones W yWo toman la forma de un polinomio. La
programacion Geometrica fue diseñada por Duffin, Peterson, Zener

Para resolver los problemas geometricos se puede utilizar un programa llamado LINGO que
facilita la resolucion de dichos problemas

LINGO®

Según Ventura, Menue, Perez (2013) El programa LINGO ha sido desarrollado por Lindo
Systems Inc. Es un programa diseñado para resolver sistemas de ecuaciones e inecuaciones
y problemas de optimización tanto lineales como no lineales y, en su caso, enteros. En un
nivel más avanzado, LINGO admite un lenguaje de modelización por medio del cual se
pueden generar modelos de optimización de gran dimensión en unas pocas líneas. (p.72)

Según Ventura, Menue, Perez (2013) La resolución de los modelos se hace a través de cuatro
métodos de resolución:

- Un metodo directo: Calcula el valor de tantas variables como pueda, utilizando las
igualdades del modelo. Si quedan variables por calcular finaliza este metodo. Si se han
podido calcular todas las variables se muestra el informe de solución.

- Un metodo lineal: El metodo básico es el simplex revisado, pudiendo elegirse entre simplex
primal y simplex dual, siendo el primero más conveniente con menos variables principales
que restricciones y el segundo en caso contrario. Como opción aparece un método de punto
interior o método de barrera, recomendado para modelos a gran escala con matriz poco densa.

- Un metodo no lineal: Si el modelo que queda es no lineal actúa el metodo no lineal que
puede ser un algoritmo de programación lineal secuencial (SLP) o uno de gradiente reducido
generalizado (GRG2), según la estructura del problema.

- Un metodo para problemas enteros: Cuando hay variables enteras o binarias se usa el
método de ramificación y acotación. Si el problema es lineal se aplican técnicas de
preprocesamiento y se añaden restricciones de corte. (p.72)

Uso Básico de Lingo

El software LINGO sirve para resolver modelos de pequeña dimensión de una manera muy
fácil e intuitiva. El lenguaje que se utiliza para introducir el problema es muy similar a la
notación matemática habitual. A continuación se muestra un ejemplo para ilustrar la
aplicación de un ejercicio práctico en el software lingo:

Ejemplo 1.- Problema de optimización

El mismo se escribe en LINGO de la siguiente manera:

Al momento de la aplicación de este software para resolución de problemas de investigación


de operaciones, se tienen que tomar en cuenta estas características básicas:
- Símbolos asociados a las operaciones matemáticas básicas: + (suma), - (resta), * (producto),
/ (cociente), ^ (potencia).

- Igualdades y desigualdades: =, >, <. Aunque se escriba con el símbolo de desigualdad


estricta, LINGO las considera siempre no estrictas. Para realizar después una correcta
interpretación de los resultados que proporciona LINGO.

- Criterio optimizador: Max= , Min= ; según se maximice o minimice respectivamente.

- Todas las líneas acaban con el símbolo de punto y coma, ";", si no, LINGO devolverá
mensajes de error.

- La coma decimal se expresa con un punto, ".".

- Las líneas de comentario se identifican con el símbolo de admiración, "!", escrito al inicio
del texto y acaban como todas con punto y coma, ";". Las variables por defecto se entienden
no negativas en signo. Si la modelización del problema no exige esta restricción hay que
hacer uso de las funciones de LINGO para cambiar este supuesto.

Tras ejecutar el comando Lingo-Solve aparece primero la ventana de Lingo Solver Status
que recoge información general acerca del proceso de resolución y estadísticas del problema.
En este caso se tiene:

La interpretación matemática sobre la solución que arroja el software es la siguiente:


- x=0'3333333, y=0'6666667, valor de la función objetivo=0'8888889. Variables de holgura
(filas 2 y 3) = 0, ya que la fila 1 corresponde a la primera línea del modelo (la función
objetivo).

- Reduced cost (sólo en problemas lineales): indica la cuantía en que debería mejorar el
coeficiente de esa variable en la función objetivo para que apareciera en la solución óptima
con un valor (columna value) no nulo.

- Dual price: Indica la mejora en la función objetivo al aumentar en una unidad marginal el
término independiente de la restricción correspondiente. En el ejemplo, un aumento en una
unidad marginal del término independiente de la primera restricción provocaría un
empeoramiento de la función objetivo de 0'7222 unidades relativas, implicando en este caso
un aumento en dicha función ya que se está minimizando. El aumento infinitesimal del
término independiente de la segunda restricción provocaría, en cambio, una mejora (en este
caso una disminución) de la función objetivo, ya que toma un valor positivo.

Figura: Ejemplo de aplicación software LINGO

Cuando se ejecuta el software este puede generar cualquier tipo de solución entre ellas
tenemos:
- Si LINGO muestra una ventana con un error asociado al mensaje de "No feasible solution
found", "Infeasible" en la ventana de LINGO Solver Status, indica que el problema es
infactible, es decir, que no tiene solución.

- Si LINGO muestra una ventana con un error asociado al mensaje de "Unbounded solution",
indica que el problema es un problema no acotado cuya solución se encuentra en el infinito
por lo que, al menos, alguna de sus variables debe tender a crecer o decrecer hasta el infinito.

- Si el problema es lineal y tiene solución finita, LINGO indica que se trata de un óptimo
global, aunque no señalará expresamente que sea único.

- Si el problema es no lineal y LINGO muestra el mensaje de Local Optimum en la ventana


de Lindo Solver Status, aunque en la ventana de Solution Report aparezca el mensaje de
Optimal solution found, sólo se puede asegurar que LINGO ha encontrado un óptimo local,
pero no se puede asegurar que vaya a ser el óptimo global ni que sea único con la información
que arrojan esas ventanas

Programación Geométrica Sin Restricciones

Paso 1: Hacer el cambio de variable


Min Z= 2X₁³X₂¯³ + 4X₁¯²X₂ + X₁X₂
Min Z=U₁ + U₂ + U₃
Donde: U₁= 2X₁³X₂¯³
U₂=4X₁¯²X
U₃= X₁X₂

Paso 2: Formar la función dual

2 γ1 4 γ2 1 γ3
h(ɤ)=(γ1) (γ2) (γ3)

Paso 3: Formar el sistema de ecuaciones


Min Z= 2X₁³X₂¯³ + 4X₁¯²X₂ + X₁X₂

3 ɤ₁ - 2 ɤ₂+ ɤ₃=0

-3 ɤ₁ + ɤ₂ + ɤ₃ =0

Paso 4: Resolución del sistema de ecuaciones

ɤ₁= 0,25; ɤ₂= 0,50, ɤ₃=0,25

Paso 5: Sustitución los valores en la función dual, para ver si h obtenido es correcto el cual
debe coincidir con la función objetivo.

2 0.25 4 0.50 1 0.25


h(ɤ)=(0.25) (0.50) (0.25)

h(ɤ)=6,7266

Paso 6: Hallar los valores de Uj mediante la expresión:


Uj= ɤj.h(ɤ);
U₁= ɤ₁* h(ɤ)= 0,25*6,7266 → U₁= 1,681

U₂= ɤ₂* h(ɤ)=0,50*6,7266 → U₂=3,3633

U₃= ɤ₃* h(ɤ)=0,25*6,7266 → U₃=1,6816

Paso 7: Se iguala los valores de Uj a cada termino que le corresponde a la función objetivo
para hallar los valores de x.
2X₁³X₂¯³= 1,681
4X₁¯²X₂= 3,3633
X₁X₂= 1,6816

Paso 8: Sustituir los valores hallados en la función objetivo y compararlos con h


De X₁X₂= 1,6816
1.6816
X₁=( ) sustituyendo este valor en:
𝑋2

2X ³ ₁ X₂¯³=1,6816
1.6816 3
2( ) (X₂)¯ ³=1,6816 X₂= 1,3347
𝑋2
1.6816
X₁= (1.3347) X₁=1,2599

Z= 2(1,2599)3.(1,3347)¯3+4(1,2599)¯2(1,3347)+(1,2599)(1,3347)
Z= 6,727

Representación en el software Lingo 17.0

Reporte de solución

Programación Geométrica Con Restricciones


Se desea diseñar una caja rectangular sin tapa, de largo z, ancho x y altura y. Necesitamos
transportar 400 metros cúbicos de arena desde un punto A hasta un punto B. Se sabe que el
costo del material de la pared x es 20 $ el metro cuadrado, para la pared z es de 10 $ el metro
cuadrado y para el piso x*z es de 10 $ el metro cuadrado. El costo del viaje de ida o vuelta
entre los puntos A y B es de 5 centavos de dólar. Queremos calcular la dimensión posible
para que cada viaje sea el mínimo al transportar 400 metros cúbicos de arena.

Se quiere diseñar una caja sin tapa de:


- Profundidad Z
- Ancho X
- Alto Y
Importante
- Sin cubierta
- Se transporta 400 mts^3 desde un punto A a un punto B
400(0.10)
FO: min f(x,y,z) = (10)(x*z) + (20)(x*y)(2) + (10)(z*y)(2) + 𝑥∗𝑦∗𝑧

Restricciones: R1: g(x,y,z) = x*y*z <=400 ; R2: x, y, z, >=0

Paso 1: Transformar a la forma

Min f= µ₁+ µ2+...+ µn

s.a: µ(n+1)+...+ µn<=1

µ₁ = (10)(x*z)
µ2=(40)(x*y)
µ3=(20)(z*y)
µ4=(40)/(𝑥 −1 ∗ 𝑦 −1 ∗ 𝑧 −1 )
µ5= 2.5*10^3(x*y+z)

Paso 2: Formar la función Dual H(Υ)

10 𝛾1 20 𝛾2 40 𝛾3 40 𝛾4 1 𝛾5
H(Υ)= ( 𝛾 ) ( 𝛾 ) (𝛾 ) ( 𝛾 ) (𝛾 ) (ƛ)ƛ
1 2 3 4 5

10 𝛾5 10 𝛾n
(ƛ)= ( ) +...+ ( )
𝛾5 𝛾n

Paso 3: Formar el sistema de ecuaciones


ɤ₁ + ɤ2 + 0 - ɤ4 + ɤ5 = 0
0 + ɤ2 + ɤ3 - ɤ4 + ɤ5 = 0
ɤ₁ + 0 + ɤ3 - ɤ4 + ɤ5 = 0
ɤ₁ + ɤ2 + ɤ3 + ɤ4 + ɤ5 = 1

Paso 4: Resolver el sistema de ecuaciones

Mediante Gauss-Jordan

ɤ₁ = 0.2

ɤ2 = 0.2

ɤ3 = 0.2

ɤ4 = 0.4

ɤ5 = 1

Paso 5: Sustituimos ɤi y tenemos el valor de la función H(Υ)

10 0.2 20 0.2 40 0.2 40 0.4 1 1


H(Υ)=(0.2) (0.2) (0.2) (0.4) (1) (1)1

H(Υ) = 100

Paso 6: Hallar µj mediante la expresión:

a) Para la FO. Uj=h(ɤ)ɤj

b) Para las restricciones Uj= ɤj/ƛi

µ₁ = (0.2)(100) =20 ; µ2 = (0.2)(100) =20 ; µ3 = (0.2)(100) =20

µ4 = (0.4)(100) =40 ; µ5 = (1)/(1) =1

Paso 7: Igualamos µj a cada término que corresponde em la FO para tener x, y, z


20 = (10)(x*z) ①
20 = (20)(y*z) ②

20 = (40)(x*y) ③

40 = (40)(x^-1 * y^-1 * z^-1) ④

1 = (1)(x*y*z) ⑤

X = 1, Y = 0.5, Z = 2

Paso 8: sustituimos x, y, z em la función objetivo para encontrar el valor de f

f=(10)(x*z)+(20)(y*z)+40(x*y)+(40)/(x*y*z)

f=(10)(1*2)+(20)(0.5*2)+40(1*0.5)+(40)/(1*0.5*2)

f = 100

Representación en el software Lingo 17.0

Reporte de solución
Conclusión
Después de haber analizado el proceso de solución de problemas de Programación
Geométrica, también conocida por PG por sus siglas, entendemos que es otro método propio
de la programación no lineal, un área de la investigación de operaciones, especialmente
dedicada a ciertos problemas con funciones no lineales las que pueden estar sujetas o no a
restricciones, según sea el caso. Este método nos permite saber el valor máximo o mínimo
de la función objetivo, así como el de las variables de decisión Xi de las cual depende el
problema.

El uso correcto de herramientas digitales para facilitar la aplicación de este método, como lo
es el software LINGO®, el cual en cuestión de milisegundos nos permite conocer los valores
de las variables de decisión, qué clase de problema estamos trabajando, así como el valor de
la función ingresada. Profundizamos en su funcionamiento, sintaxis y análisis e
interpretación de resultados del mismo.

Es importante reconocer la importancia actual de la programación geométrica en distintos


campos de trabajo; análisis de costos, carteras de clientes, aprovechamiento de recursos
humanos, producción, y así múltiples aplicaciones que en conjunto con una buena elección
de herramientas de software nos permiten tener mayores rendimientos y minimizar los
recursos desperdiciados.
Bibliografía
Ventura M, Meneu R, Pérez-Salameru J (2013) Modelización y Resolución de Problemas de
Optimización en Economía España: Valencia.

Naupay, A. (2014) Programación geométrica Tesis de maestría en matemática Universidad


de Lima, Perú.

Jimenez, G (2009) Investigación de Operaciones Colombia: Manizales

You might also like