You are on page 1of 14

CAPTULO II

MARCO TERICO
1.1.

Antecedentes de la investigacin

Los antecedentes del tema y la optimizacin de nuestro problema propuesto


realizado en el campo de una empresa exportadora de productos agroindustriales
BIO FRUTOS S.A.C., no se logr encontrar antecedentes sobre la aplicacin de un
modelo de programacin lineal para la optimizacin de utilidades y costos en dicha
empresa.
Explorando la documentacin existente relacionada con el tema, pudimos
tomar el aporte de lo que se muestra:
i.

(Gonzales Araya, 2012), Con el tema de investigacin de Modelos Aplicados


a la Gestin Logstica. Universidad de Talca, Chile.
La investigacin tiene como principal objetivo presentar una
introduccin a modelos de programacin matemtica desarrollados
para apoyar las decisiones en el rea de logstica. Se da nfasis al
impacto de aplicar estos modelos para mejorar los sistemas logsticos
en la agroindustria.

ii.

(Boirivant, 2008), Con el tema de investigacin de La programacin Lineal


Aplicacin de la Pequeas y Medianas Empresas. Universidad de Costa Rica,
San Jos.

El presente trabajo se presenta, en primer trmino, una


descripcin general del mtodo matemtico denominado Programacin
lineal, luego se detalla su importancia y se expone, a manera de
ejemplo, el procedimiento efectuado para construir un modelo real de
programacin lineal de maximizacin de ingresos generado por el
autor. Finalmente, se presenta la interpretacin y discusin de los
resultados relacionados con la toma de decisiones.
iii.

(Ozpina Gutierrez, 2008), con el tema de investigacin Modelo de


programacin para integrar Produccin, Inventario y Ventas en Empresas
Industriales. Universidad Tecnolgica de Pereira.
La presente investigacin tiene como principal objetivo presentar un
problema de programacin lineal aplicado a una compaa industrial,
con el fin de lograr un resultado ptimo que sugiera cunto producir,
cunto demorar y cunto almacenar en un horizonte de tiempo,
minimizando los costos para un producto especial.

iv.

(Gomez Irureta, 2013), Con el tema de investigacin de Modelo de


Programacin Lineal Aplicado a la Determinacin del Plan de Cultivos y
Dimensin de una Explotacin Familiar Ideal en el Regado. Estadstica,
Ingeniera Agrnoma.
La presente investigacin tiene como principal objetivo mostrar un
ensayo de programacin lineal de una empresa Agraria que pueda ser
til en estudios posteriores sobre el clculo del plan de cultivos y
dimensin de una explotacin.

BASES TERICAS
Programacin Lineal Entera
Historia de la Programacin Lineal Entera
Sus pioneros fueron Wagner (1950) y Manne (1959). Tradicionalmente estos
modelos se han considerado como subclases de la programacin lineal, sin embargo,
las variables de decisin que aparecen en ellos slo toman valores enteros, por lo que
realmente deben considerarse como problemas de programacin entera. El nmero de
modelos lineales enteros y sus mtodos de solucin es en la actualidad bastante extenso, lo que nos ha llevado a hacer una seleccin considerando aquellos que creemos
ms interesantes y que aparecen con mayor frecuencia en la realidad.
Un aspecto notable de los mtodos de solucin de estos problemas, que caen
dentro de la clase denominada de modelos combinatorios, es la complejidad
computacional. Un enfoque primitivo de resolucin consiste en evaluar cada posible
solucin, es decir, cada una de las combinaciones de valores enteros para las variables
del problema. En este caso incluso en un problema pequeo como podra ser con diez
variables y diez valores para cada variable tendra un nmero grande (diez mil
millones) de posibles soluciones, lo que hace necesario planteamientos de solucin
inteligentes. Estos se han dirigido por una parte hacia los "mtodos exactos", es decir,
aquellos que conducen a una solucin ptima exacta para el problema combinatorio
empleando tcnicas que reduzcan la bsqueda de soluciones (caso del mtodo
simplex). Por otra parte, se han propuesto un buen nmero de "mtodos heursticos",
sin una base matemtica formal, pero que, basados esencialmente en la intuicin,

conducen a una solucin prxima a la ptima y lo que es ms deseable, en una


cantidad razonable de tiempo. Ms concretamente, lo hacen en tiempo polinomial,
frente a muchos mtodos exactos para problemas combinatorios que lo hacen en
tiempo exponencial, siendo por tanto poco aplicables stos ltimos a problemas de
tamao grande.
Si se requiere que todas las variables sean enteras, se dice que se habla de
Programacin Lineal Entera Pura; si se necesita que algunas de las variables de
decisin sean nmeros enteros, se tiene un problema de Programacin Lineal Entera
Mixta.
En algunas aplicaciones, slo se permite que todas las variables tomen valores
de cero o uno, hablamos en estos casos de Programacin Lineal Entera Binaria
(Digital); si se requiere que solamente algunas de las variables tomen valores de cero
o uno, se tiene un problema de Programacin Lineal Entera Binaria Mixta.
Para resolver problemas de Programacin Lineal Entera, se utilizan varios
algoritmos como son: Ralph Gomory, Ramificacin y Acotamiento, Enumeracin
Exhaustiva o Enumeracin Explcita, Enumeracin Implcita, Aditivo de Egon Balas y
Algoritmos Heursticos.
En Programacin Lineal Entera Pura algunos de los algoritmos de solucin
que se emplean son: Mtodo de Plano de Corte, Algoritmo Fraccional de Gomory,
Algoritmo Entero Puro de Gomory, Mtodo de Ramificacin y Acotamiento y el
Algoritmo de Land Doig, entre otros. Para Programacin Lineal Entera Binaria
algunos de los utilizados son: Mtodo de Ramificacin y Acotamiento, Mtodo
Aditivo de Egon Balas, Mtodo Lexicogrfico, Mtodo de Lemke y Spielberg,
Distancia de Hamming y Retculos y Mtodo de Trubin. En Programacin Lineal

Entera Mixta se usan el Algoritmo Entero Mixto de Gomory, el Algoritmo de Land


Doig, Mtodo de Benders.

Definicin de Programacin Lineal Entera


La programacin lineal entera es aquella en la que alguna de las incgnitas
slo puede tomar valores enteros. En algunos casos se requiere que la solucin ptima
se componga de valores enteros para algunas de las variables. La resolucin de este
problema se obtiene analizando las posibles alternativas de valores enteros de esas
variables en un entorno alrededor de la solucin obtenida considerando las variables
reales. Muchas veces la solucin del programa lineal truncado esta lejos de ser el
ptimo entero, por lo que se hace necesario usar algn algoritmo para hallar esta
solucin de forma exacta. El ms famoso es el mtodo de 'Ramificar y Acotar' o
Branch and Bound por su nombre en ingls. El mtodo de Ramificar y Acotar parte de
la adicin de nuevas restricciones para cada variable de decisin (acotar) que al ser
evaluado independientemente (ramificar) lleva al ptimo entero.

Clasificacin de los problemas lineales enteros


Atendiendo al tipo de variables:

Enteros puros: son aquellos en que todas las variables nicamente pueden
tomar valores enteros. Tambin se distinguen dentro de estos los problemas
totalmente enteros como aquellos en que tanto las variables como todos los

coeficientes que intervienen en el problema han de ser enteros.


Mixtos: son aquellos en los que hay al mismo tiempo variables continuas y

variables que slo pueden tomar valores enteros.


Binarios: las variables slo pueden tomar los valores cero o uno.
Atendiendo al criterio del tipo de problema:

Directo: Si el problema de decisin involucra variables enteras.


5

Codificado: Cuando se trata de un problema que contiene adems d aspectos


cuantitativos, alguna consideracin de tipo cualitativos, y por ello para tratar

este tipo de aspectos se requiere los usos de variable enteros o binarios.


Transformado: Cuando el problema no incluye variables enteras, pero para ser
tratado analticamente requiere el uso de variable enteras artificiales.

Aplicaciones de la Programacin Lineal Entera


Variables 0-1. Problema de inversiones
Las variables binarias xj {0, 1} pueden utilizarse para modelar situaciones
en las que se decide si una accin se realiza, xj = 1, o si no se realiza, xj = 0. Un
ejemplo tpico de utilizacin de este tipo de variables es el problema de inversiones, a
continuacin se muestra una de sus versiones ms simplificadas.
Un inversor dispone de una cantidad b para invertir en n posibles
proyectos/acciones.
Cada posible accin tiene un costo de aj unidades monetarias y un beneficio
posterior de cj unidades monetarias. El inversor debe decidir que inversiones realizar
con objeto de maximizar el beneficio total.
Para este problema se definen variables xj que toman valor 1 cuando se
invierte en el proyecto j y valor 0 cuando no se invierte, con estas variables el
problema queda en la forma siguiente:
Max Z = c1x1 + c2x2 + . . . + cnxn
s. a: a1x1 + a2x2 + . . . + anxn b
xj {0, 1}, j = 1, . . . , n
Este problema bsico puede modificarse incorporando el hecho de que las
inversiones no sean de un solo periodo de tiempo sino que deban realizarse durante
6

varios periodos de tiempo, en cada uno de los cuales se dispone de una cantidad bi de
unidades monetarias.
Tambin puede modificarse mediante la incorporacin de condiciones y
restricciones en las inversiones, por ejemplo:
Si invierto en el proyecto i entonces debo invertir en el proyecto j. Dicha
condicin responde a la ecuacin xi xj puede observarse que si xi = 1 entonces
queda 1 xj con lo que xj debe tomar valor 1 y si xi = 0 entonces queda 0 xj con lo
que xj no est restringida y puede tomar cualquiera de los dos posibles valores 0 o 1.
Si invierto en el proyecto i y en el proyecto j entonces debo invertir en el
proyecto k. Dicha condicin responde a la ecuacin xi + xj 1 + xk
En este casi si xi = xj = 1 la ecuacin queda 2 1+xk con lo que xk est
obligada a tomar valor 1 y en cualquier otro caso obtenemos 0 1 + xk o 1 1 + xk
que no restringen a xk.
Si invierto en el proyecto i o en el proyecto j entonces debo invertir en el
proyecto k. Dicha condicin responde a la ecuacin xi + xj 2xk
En este casi si xi = 1 o xj = 1 la ecuacin queda 1 2xk que obliga a que xk
tome valor (xk 0,5 xk = 1), si ambas toman valor 1 entonces queda xk 1 y si
ambas toman valor 0 xk queda libre pudiendo tomar valor 0 o 1.

Metodos
MTODO DE RAMIFICACIN Y ACOTACIN (Branch and Bound).
El mtodo de ramificacin y acotacin, ms conocido por su nombr en ingls Branch
and Bound, recibe su nombre precisamente por las dos tcnicas en las que basa su
desarrollo, que son la ramificacin y la acotacin.
El mtodo de ramificacin y acotacin comienza por resolver el
7

PLA, de modo que si la solucin al PLA verifica las condiciones de integridad,


entonces tambin es la solucin al problema entero, en caso contrario se comienza con
la ramificacin del problema.
La ramificacin consiste en dividir cada problema en dos nuevos subproblemas,
obtenidos mediante la imposicin de restricciones excluyentes que dividen el conjunto
de oportunidades del problema original en dos partes, pero eliminando en ambas
partes la solucin no entera del problema original.
Cuando en la solucin al PLA una variable que ha de ser entera xi toma el valor xbi
no entero, entonces se generan a partir de dicho valor dos restricciones xi [xbi] y xi
[xbi]+1 (siendo [xbi] la parte entera por defecto
de xbi ), que aadidas cada uno por separado al problema original, da lugar a dos
nuevos subproblemas. Vamos a explicar este proceso a traves de un ejemplo
particular:
Consideremos el siguiente problema
Max F(x) = 4x1 + 5x2 (1)
s.a. 2x1 + x2 8
x2 5
x1,x2 0 y enteras
La solucin al PLA, prescindiendo de la condicin de que las variables han de ser
enteras es
x1 = 1,5, x2 =5 y F(x) = 31
Como dicha solucin no verifica las condiciones de integridad se elige la variable x1
que no es entera y a partir de ella se generan dos restricciones
x1 1 y x1 2
que aadidas cada una de ellas al problema original dan lugar a dos nuevos
subproblemas que seran los siguientes:
Max F(x) = 4x1 + 5x2 (1.1) Max F(x) = 4x1 + 5x2 (1.2)
s.a. 2x1 + x2 8 s.a. 2x1 + x2 8
x2 5 x2 5
x1 1 x1 2
x1,x2 0 x1,x2 0
De este modo se han eliminado todas las posibles soluciones no enteras del conjunto
de oportunidades tales que 1< x1 < 2.

El proceso se repite con cada uno de los dos subproblemas obtenidos, los cuales darn
lugar a otros dos subproblemas cada uno de ellos y as sucesivamente hasta que en
todos los subproblemas tengan solucin entera o infactible.
Utilizando nicamente la ramificacin, el nmero de subproblemas a resolver crece
exponencialmente, por este motivo para evitar el tener que resolver todos los
subproblemas , la ramificacin se combina con la acotacin.
La acotacin se basa en el hecho de que dado que los conjuntos de oportunidades del
subproblema 1.1. (S11) y del subproblema 1.2 (S12) son a su vez subconjuntos del
conjunto de oportunidades del problema 1 (S1) la solucin ptima de los dos
subproblemas siempre ser inferior (problema de mximo o superior para problemas
de mnimo) que la solucin ptima del problema 1 por ser los conjuntos de eleccin
menores.
As pues, el proceso de acotacin consiste, para problemas de mximo, en tomar
como cota inferior aquella solucin entera con mayor valor de la funcin objetivo
obtenida y dado que cualquier otro subproblema con solucin no entera sabemos que
al ramificarlo nos dar como resultado valores de la funcin objetivo menores o
iguales, nos permite descartar como subproblemas a ramificar todos aquellos que
tengan como solucin ptima un valor de la funcin inferior a la cota establecida.
De este modo se reduce el nmero de subproblemas a ramificar y por lo tanto el
tiempo necesario para la resolucin de los problemas enteros.
El proceso a seguir en la resolucin de problemas enteros mediante el mtodo de
ramificacin y acotacin se resume en el siguiente esquema algortmico:

Esquema del algoritmo de ramificacin y acotacin

10

Mtodo Simplex:
El algoritmo simplex est diseado para localizar la solucin ptima
concentrndose en un nmero seleccionado de las soluciones bsicas factibles del
problema. Siempre empieza en una solucin bsica factible y despus trata de
encontrar otra solucin bsica factible que mejorar el valor del objetivo.
Los clculos para producir la nueva solucin bsica incluyen dos tipos:
1. Regin pivote:
Nuevo rengln pivote = rengln pivote actual / elemento pivote
2. Todos los dems renglones, incluyendo Z:
Nuevo rengln = Rengln actual Coeficiente de la columna pivote * nuevo rengln
pivote

Programa: Aplicacin Invesope


Realizado en la Facultad de Ciencias de Salamanca, por dos profesores del
centro, para las asignaturas de Investigacin Operativa y Tcnicas de Investigacin
Operativa para las titulaciones de Matemtica, Estadstica e Informtica. En este
proyecto se han centrado en la elaboracin de un software de Investigacin Operativa
que cubriera los aspectos de la Programacin Lineal y de Anlisis de Sensibilidad. La
aplicacin Invesope (Investigacin Operativa) ha sido pensada desde un principio
como un elemento didctico para estudiantes y profesores interesados en este tema. El
proyecto se llev a cabo en tres fases:
1. Desarrollo de una interfaz grfica de usuario de fcil manejo.
2. Implementar la resolucin de problemas de Programacin Lineal a travs del
Algoritmo del Simplex.
3. Desarrollo de la solucin de problemas de Anlisis de Sensibilidad, mostrando los
resultados obtenidos en ellos mediante tablas.
11

Los resultados obtenidos permiten disponer de un software de Investigacin


Operativa cuya evaluacin ha sido positiva pero puede mejorarse con el tiempo y se est
trabajando en ello.
WinQSB
WinQSB es un sistema interactivo de ayuda a la toma de decisiones que contiene
herramientas muy tiles para resolver distintos tipos de problemas en el campo de la
investigacin operativa. El sistema est formado por distintos mdulos, uno para cada
tipo de modelo o problema. Entre ellos destacaremos los siguientes:
Linear programming (LP) and integer linear programming (ILP): este mdulo incluye
los programas necesarios para resolver el problema de programacin lineal grficamente
o utilizando el algoritmo del Simplex; tambin permite resolver los problemas de
programacin lineal entera utilizando el procedimiento de Ramificacin y Acotacin
(Branch&Bound).
Linear goal programming (GP) and integer linear goal programming (IGP): resuelve
modelos de programacin multiobjetivo con restricciones lineales.
Quadratic programming (QP) and integer quadratic programming (IQP): resuelve el
problema de programacin cuadrtica, es decir, problemas con funcin objetivo
cuadrtica y restricciones lineales. Utiliza un mtodo Simplex adaptado. Los modelos de
IQP los resuelve utilizando algoritmos de ramificacin y acotacin.
Network modeling (NET): incluye programas especficos para resolver el problema del
transbordo, el problema del transporte, el de asignacin, el problema del camino ms
corto, flujo mximo, rbol generador, y problema del agente viajero.

12

Nonlinear programming (NLP): permite resolver problemas no lineales irrestringido


utilizando mtodos de bsqueda lineal, y problemas no lineales con restricciones
utilizando el mtodo SUMT (funcin objetivo con penalizaciones sobre el
incumplimiento de las restricciones).
PERT/CPM: mdulo de gestin de proyectos en los que hay que realizer varia
actividades con relaciones de precedencia.
A cada uno de estos mdulos se accede directamente desde la entrada a WinQSB en el
men principal, seleccionando respectivamente las siguientes opciones del men:
Linear and Integer Programming
Goal Programming
Quadratic Programming
Network Modeling
Nonlinear Programming
PERT_CPM
WinQSB utiliza los mecanismos tpicos de la interface de Windows, es decir, ventanas,
mens desplegables, barras de herramientas, etc. Por lo tanto el manejo del programa es
similar a cualquier otro que utilice el entorno Windows.

DEFINICIONES CONCEPTUALES
Modelo Matemtico:
Representacin de un problema donde el objetivo y todas las condiciones de
restriccin se describen con expresiones matemticas.
13

Utilidad
La utilidad, tambin conocida como ingreso neto, es simplemente la cantidad
de dlares calculada cuando todos los gastos para un periodo particular son sustrados
de las ganancias de un periodo. Si este nmero es positivo, la compaa genera
utilidades. Ese dinero se coloca en las ganancias acumuladas de la compaa o se
entregan a los propietarios de la empresa como un retorno de su inversin.

Margen de utilidades
El margen de utilidades es un ratio que seala cun bien la empresa lo hizo
manteniendo sus ganancias como utilidades. Esto mide, como un porcentaje, cunto
de cada dlar de utilidad es retenido por la empresa. Para determinar este nmero, los
propietarios tienen que dividir el nmero de la utilidad por el nmero de ganancias.

14

You might also like